|
@@ -445,21 +445,21 @@ def update_redis_data(result, app_type, mid, top_K, expire_time=24*3600):
|
|
|
redis_helper.set_data_to_redis(key_name=last_video_key, value=rov_recall_24h_dup3_video[-1],
|
|
|
expire_time=expire_time)
|
|
|
|
|
|
- # 将此次获取的 相对48h筛选数据列表 中的视频id同步刷新到redis中,方便下次快速定位到召回位置
|
|
|
- rov_recall_48h_dup2_video = [item['videoId'] for item in result[:top_K]
|
|
|
- if item['pushFrom'] == config_.PUSH_FROM['rov_recall_48h']]
|
|
|
- if len(rov_recall_48h_dup2_video) > 0:
|
|
|
- last_video_key = f'{config_.LAST_VIDEO_FROM_REGION_DUP2_48H_PREFIX}{app_type}:{mid}'
|
|
|
- redis_helper.set_data_to_redis(key_name=last_video_key, value=rov_recall_48h_dup2_video[-1],
|
|
|
- expire_time=expire_time)
|
|
|
-
|
|
|
- # 将此次获取的 相对48h筛选后剩余数据列表 中的视频id同步刷新到redis中,方便下次快速定位到召回位置
|
|
|
- rov_recall_48h_dup3_video = [item['videoId'] for item in result[:top_K]
|
|
|
- if item['pushFrom'] == config_.PUSH_FROM['rov_recall_48h_dup']]
|
|
|
- if len(rov_recall_48h_dup3_video) > 0:
|
|
|
- last_video_key = f'{config_.LAST_VIDEO_FROM_REGION_DUP3_48H_PREFIX}{app_type}:{mid}'
|
|
|
- redis_helper.set_data_to_redis(key_name=last_video_key, value=rov_recall_48h_dup3_video[-1],
|
|
|
- expire_time=expire_time)
|
|
|
+ # # 将此次获取的 相对48h筛选数据列表 中的视频id同步刷新到redis中,方便下次快速定位到召回位置
|
|
|
+ # rov_recall_48h_dup2_video = [item['videoId'] for item in result[:top_K]
|
|
|
+ # if item['pushFrom'] == config_.PUSH_FROM['rov_recall_48h']]
|
|
|
+ # if len(rov_recall_48h_dup2_video) > 0:
|
|
|
+ # last_video_key = f'{config_.LAST_VIDEO_FROM_REGION_DUP2_48H_PREFIX}{app_type}:{mid}'
|
|
|
+ # redis_helper.set_data_to_redis(key_name=last_video_key, value=rov_recall_48h_dup2_video[-1],
|
|
|
+ # expire_time=expire_time)
|
|
|
+ #
|
|
|
+ # # 将此次获取的 相对48h筛选后剩余数据列表 中的视频id同步刷新到redis中,方便下次快速定位到召回位置
|
|
|
+ # rov_recall_48h_dup3_video = [item['videoId'] for item in result[:top_K]
|
|
|
+ # if item['pushFrom'] == config_.PUSH_FROM['rov_recall_48h_dup']]
|
|
|
+ # if len(rov_recall_48h_dup3_video) > 0:
|
|
|
+ # last_video_key = f'{config_.LAST_VIDEO_FROM_REGION_DUP3_48H_PREFIX}{app_type}:{mid}'
|
|
|
+ # redis_helper.set_data_to_redis(key_name=last_video_key, value=rov_recall_48h_dup3_video[-1],
|
|
|
+ # expire_time=expire_time)
|
|
|
|
|
|
# 将此次分发的流量池视频,对 本地分发数-1 进行记录
|
|
|
if app_type not in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
@@ -508,9 +508,32 @@ def update_local_distribute_count(videos):
|
|
|
try:
|
|
|
redis_helper = RedisHelper()
|
|
|
for item in videos:
|
|
|
- key_name = f"{config_.LOCAL_DISTRIBUTE_COUNT_PREFIX}{item['videoId']}:{item['flowPool']}"
|
|
|
+ video_id, flow_pool = item['videoId'], item['flowPool']
|
|
|
+ key_name = f"{config_.LOCAL_DISTRIBUTE_COUNT_PREFIX}{video_id}:{flow_pool}"
|
|
|
# 本地记录的分发数 - 1
|
|
|
redis_helper.decr_key(key_name=key_name, amount=1, expire_time=15 * 60)
|
|
|
+ # 对该视频做分发数检查
|
|
|
+ cur_count = redis_helper.get_data_from_redis(key_name=key_name)
|
|
|
+ # 无记录
|
|
|
+ if cur_count is None:
|
|
|
+ continue
|
|
|
+ # 本地分发数 cur_count <= 0,从所有的流量召回池移除,删除本地分发记录key
|
|
|
+ if int(cur_count) <= 0:
|
|
|
+ redis_helper.del_keys(key_name=key_name)
|
|
|
+ for app_name in config_.APP_TYPE:
|
|
|
+ app_type = config_.APP_TYPE.get(app_name)
|
|
|
+ flow_pool_key_list = [
|
|
|
+ f"{config_.FLOWPOOL_KEY_NAME_PREFIX}{app_type}",
|
|
|
+ f"{config_.QUICK_FLOWPOOL_KEY_NAME_PREFIX}{app_type}:{config_.QUICK_FLOW_POOL_ID}"
|
|
|
+ ]
|
|
|
+ for key in flow_pool_key_list:
|
|
|
+ redis_helper.remove_value_from_zset(key_name=key, value=f"{video_id}-{flow_pool}")
|
|
|
+ video_flow_pool_key_list = [
|
|
|
+ f"{config_.QUICK_FLOWPOOL_VIDEO_INFO_KEY_NAME_PREFIX}{app_type}:{config_.QUICK_FLOW_POOL_ID}:{video_id}",
|
|
|
+ f"{config_.FLOWPOOL_VIDEO_INFO_KEY_NAME_PREFIX}{app_type}:{video_id}"
|
|
|
+ ]
|
|
|
+ for key in video_flow_pool_key_list:
|
|
|
+ redis_helper.remove_value_from_set(key_name=key, values=(flow_pool, ))
|
|
|
|
|
|
# if redis_helper.key_exists(key_name=key_name):
|
|
|
# # 该视频本地有记录,本地记录的分发数 - 1
|