|
@@ -58,9 +58,9 @@ def update_remain_view_count(video_info_list):
|
|
|
"""
|
|
|
redis_helper = RedisHelper()
|
|
|
if not video_info_list:
|
|
|
- return []
|
|
|
+ return dict()
|
|
|
|
|
|
- remain_videos = []
|
|
|
+ remain_videos = dict()
|
|
|
# 每次请求10个
|
|
|
for i in range(len(video_info_list)//10 + 1):
|
|
|
remain_st_time = time.time()
|
|
@@ -79,7 +79,7 @@ def update_remain_view_count(video_info_list):
|
|
|
continue
|
|
|
distribute_count = int(item['distributeCount'])
|
|
|
if distribute_count > 0:
|
|
|
- remain_videos.append(item['videoId'])
|
|
|
+ remain_videos[item['videoId']]=distribute_count
|
|
|
# 将分发数更新到本地记录
|
|
|
key_name = f"{config_.LOCAL_DISTRIBUTE_COUNT_PREFIX}{item['videoId']}:{item['flowPool']}"
|
|
|
redis_helper.set_data_to_redis(key_name=key_name, value=distribute_count, expire_time=25 * 60)
|
|
@@ -173,6 +173,7 @@ def update_flow_pool(flow_pool_id_list):
|
|
|
for video_id in remain_videos:
|
|
|
for item in mapping.get(video_id):
|
|
|
flow_pool = item['flowPool']
|
|
|
+ level = item['level']
|
|
|
try:
|
|
|
score = float(item['score'])
|
|
|
except:
|
|
@@ -182,8 +183,11 @@ def update_flow_pool(flow_pool_id_list):
|
|
|
if flow_pool_id == config_.QUICK_FLOW_POOL_ID:
|
|
|
quick_flow_pool_redis_data[value] = score
|
|
|
else:
|
|
|
- flow_pool_redis_data[value] = score
|
|
|
-
|
|
|
+ if level not in flow_pool_redis_data:
|
|
|
+ flow_pool_redis_data[level]=dict()
|
|
|
+ level_weight[level] = 0
|
|
|
+ flow_pool_redis_data[level][value] = score
|
|
|
+ level_weight[level]=level_weight[level]+distribute_count
|
|
|
# 2. quick曝光池
|
|
|
redis_helper = RedisHelper()
|
|
|
quick_flow_pool_key_name = f"{config_.QUICK_FLOWPOOL_KEY_NAME_PREFIX}{app_type}:{config_.QUICK_FLOW_POOL_ID}"
|
|
@@ -203,14 +207,18 @@ def update_flow_pool(flow_pool_id_list):
|
|
|
expire_time=15 * 60)
|
|
|
|
|
|
# 3. 普通流量池
|
|
|
- log_.info(f"videos_count: {len(flow_pool_redis_data)}")
|
|
|
- flow_pool_key_name = f"{config_.FLOWPOOL_KEY_NAME_PREFIX_SET_LEVEL_SCORE}{app_type}"
|
|
|
- # 如果key已存在,删除key
|
|
|
- if redis_helper.key_exists(flow_pool_key_name):
|
|
|
- redis_helper.del_keys(flow_pool_key_name)
|
|
|
- # 写入redis
|
|
|
- if flow_pool_redis_data:
|
|
|
- redis_helper.add_data_with_zset(key_name=flow_pool_key_name, data=flow_pool_redis_data, expire_time=24 * 3600)
|
|
|
+ for level, videos in flow_pool_redis_data.items():
|
|
|
+ log_.info(f"level: {level}, videos_count: {len(videos)}")
|
|
|
+ flow_pool_key_name = f"flow:pool:level:item:score:v2:{app_type}{level}"
|
|
|
+ # 如果key已存在,删除key
|
|
|
+ if redis_helper.key_exists(flow_pool_key_name):
|
|
|
+ redis_helper.del_keys(flow_pool_key_name)
|
|
|
+ # 写入redis
|
|
|
+ if videos:
|
|
|
+ redis_helper.add_data_with_zset(key_name=flow_pool_key_name, data=videos, expire_time=24 * 3600)
|
|
|
+ weight=json.dumps(level_weight)
|
|
|
+ redis_helper.set_data_to_redis(key_name="flow:pool:level:score:weight:v2", value=json.dumps(weight), expire_time=24*3600)
|
|
|
+ log_.info(f'权重 {weight}')
|
|
|
|
|
|
|
|
|
log_.info('data to redis finished!')
|