liqian 2 年之前
父節點
當前提交
a96e25bad2
共有 1 個文件被更改,包括 16 次插入15 次删除
  1. 16 15
      rule_rank_h_by_24h.py

+ 16 - 15
rule_rank_h_by_24h.py

@@ -203,12 +203,12 @@ def video_rank_h(df, now_date, now_h, rule_key, param, data_key, notify_backend)
     now_dt = datetime.strftime(now_date, '%Y%m%d')
     day_video_ids = []
     day_recall_result = {}
-    json_data = []
+    # json_data = []
     for video_id in filtered_videos:
         score = day_recall_df[day_recall_df['videoid'] == video_id]['score']
         day_recall_result[int(video_id)] = float(score)
         day_video_ids.append(int(video_id))
-        json_data.append({'videoId': video_id, 'rovScore': float(score)})
+        # json_data.append({'videoId': video_id, 'rovScore': float(score)})
 
     h_24h_recall_key_name = \
         f"{config_.RECALL_KEY_NAME_PREFIX_BY_24H}{data_key}:{rule_key}:{now_dt}:{now_h}"
@@ -219,19 +219,6 @@ def video_rank_h(df, now_date, now_h, rule_key, param, data_key, notify_backend)
         # 清空线上过滤应用列表
         # redis_helper.del_keys(key_name=f"{config_.H_VIDEO_FILER_24H}{app_type}.{data_key}.{rule_key}")
 
-    # 通知后端更新兜底视频数据
-    if notify_backend is True:
-        log_.info('json_data count = {}'.format(len(json_data)))
-        # log_.info(f"json_data = {json_data}")
-        result = request_post(request_url=config_.NOTIFY_BACKEND_updateFallBackVideoList_URL,
-                              request_data={'videos': json_data})
-        if result is None:
-            log_.error('notify backend updateFallBackVideoList fail!')
-        elif result['code'] == 0:
-            log_.info('notify backend updateFallBackVideoList success!')
-        else:
-            log_.error('notify backend updateFallBackVideoList fail!')
-
     # 去重筛选结果,保留剩余数据并写入Redis
     all_videos = df['videoid'].to_list()
     log_.info(f'h_by24h_recall all videos count = {len(all_videos)}')
@@ -246,9 +233,11 @@ def video_rank_h(df, now_date, now_h, rule_key, param, data_key, notify_backend)
     log_.info(f'other_videos count = {len(other_videos)}')
     # 写入对应的redis
     other_24h_recall_result = {}
+    json_data = []
     for video_id in other_videos:
         score = df[df['videoid'] == video_id]['score']
         other_24h_recall_result[int(video_id)] = float(score)
+        json_data.append({'videoId': video_id, 'rovScore': float(score)})
     # other_h_24h_recall_key_name = \
     #     f"{config_.RECALL_KEY_NAME_PREFIX_BY_24H_OTHER}{app_type}:{data_key}:{rule_key}:{now_dt}:{now_h}"
     other_h_24h_recall_key_name = \
@@ -257,6 +246,18 @@ def video_rank_h(df, now_date, now_h, rule_key, param, data_key, notify_backend)
         log_.info(f"count = {len(other_24h_recall_result)}")
         redis_helper.add_data_with_zset(key_name=other_h_24h_recall_key_name, data=other_24h_recall_result,
                                         expire_time=2 * 3600)
+    # 通知后端更新兜底视频数据
+    if notify_backend is True:
+        log_.info('json_data count = {}'.format(len(json_data[:5000])))
+        # log_.info(f"json_data = {json_data}")
+        result = request_post(request_url=config_.NOTIFY_BACKEND_updateFallBackVideoList_URL,
+                              request_data={'videos': json_data[:5000]})
+        if result is None:
+            log_.error('notify backend updateFallBackVideoList fail!')
+        elif result['code'] == 0:
+            log_.info('notify backend updateFallBackVideoList success!')
+        else:
+            log_.error('notify backend updateFallBackVideoList fail!')
 
     # 去重更新rov模型结果,并另存为redis中
     # initial_data_dup = {}