|
@@ -183,10 +183,12 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
# 小时级实验
|
|
|
if ab_code in [code for _, code in config_.AB_CODE['rank_by_h'].items()]:
|
|
|
t = [gevent.spawn(pool_recall.rule_recall_by_h, size, expire_time),
|
|
|
+ gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
|
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
# 小时级实验
|
|
|
elif ab_code in [code for _, code in config_.AB_CODE['rank_by_24h'].items()]:
|
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall_by_h, size, expire_time),
|
|
|
+ gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
|
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
# 地域分组实验
|
|
|
elif ab_code in [code for _, code in config_.AB_CODE['region_rank_by_h'].items()]:
|
|
@@ -194,6 +196,7 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall_with_region, size, expire_time)]
|
|
|
else:
|
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall_with_region, size, expire_time),
|
|
|
+ gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
|
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
# 最惊奇相关推荐实验
|
|
|
elif ab_code == config_.AB_CODE['top_video_relevant_appType_19']:
|
|
@@ -209,6 +212,7 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
# 天级实验
|
|
|
elif ab_code in [code for _, code in config_.AB_CODE['rank_by_day'].items()]:
|
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall_by_day, size, expire_time),
|
|
|
+ gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
|
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
# 老视频实验
|
|
|
# elif ab_code in [config_.AB_CODE['old_video']]:
|
|
@@ -217,6 +221,7 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
# gevent.spawn(pool_recall.old_videos_recall, size)]
|
|
|
else:
|
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall, size, expire_time),
|
|
|
+ gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
|
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
gevent.joinall(t)
|
|
|
recall_result_list = [i.get() for i in t]
|
|
@@ -252,11 +257,21 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
'flow_pool_recall': []
|
|
|
}
|
|
|
else:
|
|
|
- data = {
|
|
|
- 'rov_pool_recall': recall_result_list[0],
|
|
|
- 'flow_pool_recall': recall_result_list[1]
|
|
|
- }
|
|
|
- rank_result = video_rank(data=data, size=size, top_K=top_K, flow_pool_P=flow_pool_P)
|
|
|
+ if recall_result_list[1]:
|
|
|
+ redis_helper = RedisHelper()
|
|
|
+ flow_pool_P = redis_helper.get_data_from_redis(
|
|
|
+ key_name=f"{config_.QUICK_FLOWPOOL_DISTRIBUTE_RATE_KEY_NAME_PREFIX}{config_.QUICK_FLOW_POOL_ID}"
|
|
|
+ )
|
|
|
+ data = {
|
|
|
+ 'rov_pool_recall': recall_result_list[0],
|
|
|
+ 'flow_pool_recall': recall_result_list[1]
|
|
|
+ }
|
|
|
+ else:
|
|
|
+ data = {
|
|
|
+ 'rov_pool_recall': recall_result_list[0],
|
|
|
+ 'flow_pool_recall': recall_result_list[2]
|
|
|
+ }
|
|
|
+ rank_result = video_rank(data=data, size=size, top_K=top_K, flow_pool_P=float(flow_pool_P))
|
|
|
|
|
|
# 老视频实验
|
|
|
# if ab_code in [config_.AB_CODE['old_video']]:
|