|
@@ -142,6 +142,11 @@ def video_rank_h(df, now_date, now_h, rule_key, param, app_type, data_key):
|
|
|
|
|
|
log_.info(f"app_type = {app_type}, videos_count = {len(df)}")
|
|
|
|
|
|
+
|
|
|
+ df = df.sort_values(by=['score'], ascending=False)
|
|
|
+ df = df.drop_duplicates(subset=['videoid'], keep='first')
|
|
|
+ df['videoid'] = df['videoid'].astype(int)
|
|
|
+
|
|
|
|
|
|
return_count = param.get('return_count')
|
|
|
if return_count:
|
|
@@ -152,9 +157,9 @@ def video_rank_h(df, now_date, now_h, rule_key, param, app_type, data_key):
|
|
|
day_recall_df = day_recall_df[day_recall_df['platform_return_rate'] > platform_return_rate]
|
|
|
|
|
|
|
|
|
- day_recall_df = day_recall_df.sort_values(by=['score'], ascending=False)
|
|
|
- day_recall_df = day_recall_df.drop_duplicates(subset=['videoid'], keep='first')
|
|
|
- day_recall_df['videoid'] = day_recall_df['videoid'].astype(int)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
day_recall_videos = day_recall_df['videoid'].to_list()
|
|
|
log_.info(f'h_by24h_recall videos count = {len(day_recall_videos)}')
|
|
|
|
|
@@ -170,14 +175,36 @@ def video_rank_h(df, now_date, now_h, rule_key, param, app_type, data_key):
|
|
|
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))
|
|
|
- day_recall_key_name = \
|
|
|
+ h_24h_recall_key_name = \
|
|
|
f"{config_.RECALL_KEY_NAME_PREFIX_BY_24H}{app_type}.{data_key}.{rule_key}.{now_dt}.{now_h}"
|
|
|
if len(day_recall_result) > 0:
|
|
|
log_.info(f"count = {len(day_recall_result)}")
|
|
|
- redis_helper.add_data_with_zset(key_name=day_recall_key_name, data=day_recall_result, expire_time=23 * 3600)
|
|
|
+ redis_helper.add_data_with_zset(key_name=h_24h_recall_key_name, data=day_recall_result, expire_time=23 * 3600)
|
|
|
|
|
|
redis_helper.del_keys(key_name=f"{config_.H_VIDEO_FILER_24H}{app_type}.{data_key}.{rule_key}")
|
|
|
|
|
|
+ if rule_key == 'rule3':
|
|
|
+
|
|
|
+ all_videos = df['videoid'].to_list()
|
|
|
+ log_.info(f'h_by24h_recall all videos count = {len(all_videos)}')
|
|
|
+
|
|
|
+ all_filtered_videos = filter_video_status(all_videos)
|
|
|
+ log_.info(f'all_filtered_videos count = {len(all_filtered_videos)}')
|
|
|
+
|
|
|
+ other_videos = [video for video in all_filtered_videos if video not in day_video_ids]
|
|
|
+ log_.info(f'other_videos count = {len(other_videos)}')
|
|
|
+
|
|
|
+ other_24h_recall_result = {}
|
|
|
+ for video_id in other_videos:
|
|
|
+ score = df[df['videoid'] == video_id]['score']
|
|
|
+ other_24h_recall_result[int(video_id)] = 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}"
|
|
|
+ if len(other_24h_recall_result) > 0:
|
|
|
+ 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=23 * 3600)
|
|
|
+
|
|
|
|
|
|
|
|
|
|