|
@@ -128,7 +128,7 @@ def video_rank_h(df, now_date, now_h, rule_key, param):
|
|
|
day_recall_key_name = \
|
|
|
f"{config_.RECALL_KEY_NAME_PREFIX_BY_24H}{rule_key}.{now_dt}.{now_h}"
|
|
|
if len(day_recall_result) > 0:
|
|
|
- redis_helper.add_data_with_zset(key_name=day_recall_key_name, data=day_recall_result, expire_time=24 * 3600)
|
|
|
+ redis_helper.add_data_with_zset(key_name=day_recall_key_name, data=day_recall_result, expire_time=23 * 3600)
|
|
|
# 清空线上过滤应用列表
|
|
|
redis_helper.del_keys(key_name=f"{config_.H_VIDEO_FILER_24H}{rule_key}")
|
|
|
|
|
@@ -141,7 +141,7 @@ def video_rank_h(df, now_date, now_h, rule_key, param):
|
|
|
|
|
|
initial_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP_24H}{rule_key}.{now_dt}.{now_h}"
|
|
|
if len(initial_data_dup) > 0:
|
|
|
- redis_helper.add_data_with_zset(key_name=initial_key_name, data=initial_data_dup, expire_time=24 * 3600)
|
|
|
+ redis_helper.add_data_with_zset(key_name=initial_key_name, data=initial_data_dup, expire_time=23 * 3600)
|
|
|
|
|
|
|
|
|
def rank_by_h(now_date, now_h, rule_params, project, table):
|
|
@@ -170,16 +170,26 @@ def rank_by_h(now_date, now_h, rule_params, project, table):
|
|
|
def h_rank_bottom(now_date, now_h, rule_key):
|
|
|
"""未按时更新数据,用模型召回数据作为当前的数据"""
|
|
|
log_.info(f"rule_key = {rule_key}")
|
|
|
- now_dt = datetime.strftime(now_date, '%Y%m%d')
|
|
|
+ # 获取rov模型结果
|
|
|
redis_helper = RedisHelper()
|
|
|
- key_name = get_rov_redis_key(now_date=now_date)
|
|
|
- initial_data = redis_helper.get_data_zset_with_index(key_name=key_name, start=0, end=-1, with_scores=True)
|
|
|
- final_data = dict()
|
|
|
- for video_id, score in initial_data:
|
|
|
- final_data[video_id] = score
|
|
|
- key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP_24H}{rule_key}.{now_dt}.{now_h}"
|
|
|
- if len(final_data) > 0:
|
|
|
- redis_helper.add_data_with_zset(key_name=key_name, data=final_data, expire_time=7 * 24 * 3600)
|
|
|
+ if now_h == 0:
|
|
|
+ redis_dt = datetime.strftime(now_date - timedelta(days=1), '%Y%m%d')
|
|
|
+ redis_h = 23
|
|
|
+ else:
|
|
|
+ redis_dt = datetime.strftime(now_date, '%Y%m%d')
|
|
|
+ redis_h = now_h - 1
|
|
|
+ key_prefix_list = [config_.RECALL_KEY_NAME_PREFIX_BY_24H, config_.RECALL_KEY_NAME_PREFIX_DUP_24H]
|
|
|
+ for key_prefix in key_prefix_list:
|
|
|
+ key_name = f"{key_prefix}{rule_key}.{redis_dt}.{redis_h}"
|
|
|
+ initial_data = redis_helper.get_data_zset_with_index(key_name=key_name, start=0, end=-1, with_scores=True)
|
|
|
+ final_data = dict()
|
|
|
+ for video_id, score in initial_data:
|
|
|
+ final_data[video_id] = score
|
|
|
+ # 存入对应的redis
|
|
|
+ final_key_name = \
|
|
|
+ f"{key_prefix}{rule_key}.{datetime.strftime(now_date, '%Y%m%d')}.{now_h}"
|
|
|
+ if len(final_data) > 0:
|
|
|
+ redis_helper.add_data_with_zset(key_name=final_key_name, data=final_data, expire_time=23 * 3600)
|
|
|
# 清空线上过滤应用列表
|
|
|
redis_helper.del_keys(key_name=f"{config_.H_VIDEO_FILER_24H}{rule_key}")
|
|
|
|