|
@@ -364,6 +364,8 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
# ####### 多进程召回
|
|
|
start_recall = time.time()
|
|
|
# log_.info('====== recall')
|
|
|
+
|
|
|
+ #print("abcode",ab_code)
|
|
|
recall_result_list = []
|
|
|
pool_recall = PoolRecall(request_id=request_id,
|
|
|
app_type=app_type, mid=mid, uid=uid, ab_code=ab_code,
|
|
@@ -371,67 +373,70 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config, video_id= video_id)
|
|
|
|
|
|
if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
|
- t = [gevent.spawn(pool_recall.rov_pool_recall_with_region, size, expire_time),
|
|
|
- pool_recall.get_sim_hot_item_reall_filter]
|
|
|
+ t = [gevent.spawn(pool_recall.rov_pool_recall_with_region, size, expire_time)]
|
|
|
+ if ab_code ==60054:
|
|
|
+ t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter))
|
|
|
if ab_code == 60055:
|
|
|
t.append(gevent.spawn(pool_recall.get_3days_hot_item_reall))
|
|
|
if ab_code == 60056:
|
|
|
- t.append(gevent.spawn(pool_recall.get_7days_hot_item_reall))
|
|
|
+ t.append(gevent.spawn(pool_recall.get_hot_item_reall))
|
|
|
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),
|
|
|
- gevent.spawn(pool_recall.get_sim_hot_item_reall_filter)]
|
|
|
+ gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
+ if ab_code == 60054:
|
|
|
+ t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter))
|
|
|
if ab_code == 60055:
|
|
|
t.append(gevent.spawn(pool_recall.get_3days_hot_item_reall))
|
|
|
if ab_code == 60056:
|
|
|
- t.append(gevent.spawn(pool_recall.get_7days_hot_item_reall))
|
|
|
+ t.append(gevent.spawn(pool_recall.get_hot_item_reall))
|
|
|
|
|
|
gevent.joinall(t)
|
|
|
recall_result_list = [i.get() for i in t]
|
|
|
|
|
|
- #print(recall_result_list)
|
|
|
+ #print("recall:",recall_result_list)
|
|
|
if len(recall_result_list)<0:
|
|
|
result['recallResult']= []
|
|
|
result['rankResult'] = []
|
|
|
return result
|
|
|
- #merge simrecall
|
|
|
- rov_pool_recall = []
|
|
|
- if len(recall_result_list) >= 2:
|
|
|
- region_recall = recall_result_list[0]
|
|
|
- sim_recall = []
|
|
|
- if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
|
- sim_recall = recall_result_list[1]
|
|
|
- else:
|
|
|
- if len(recall_result_list)>=4:
|
|
|
- sim_recall = recall_result_list[3]
|
|
|
- now_video_ids = set('')
|
|
|
- if len(region_recall) > 0:
|
|
|
- for video in region_recall:
|
|
|
- video_id = video.get('videoId')
|
|
|
- if video_id not in now_video_ids:
|
|
|
- rov_pool_recall.append(video)
|
|
|
- now_video_ids.add(video_id)
|
|
|
- if len(sim_recall) > 0:
|
|
|
- for video in sim_recall:
|
|
|
- video_id = video.get('videoId')
|
|
|
- # print("sim video_id:", video_id)
|
|
|
- if video_id not in now_video_ids:
|
|
|
- rov_pool_recall.append(video)
|
|
|
- now_video_ids.add(video_id)
|
|
|
- if len(rov_pool_recall) > 0:
|
|
|
- recall_result_list[0] = rov_pool_recall
|
|
|
+ #1. merge simrecall
|
|
|
+ if ab_code == 60054:
|
|
|
+ rov_pool_recall = []
|
|
|
+ if len(recall_result_list) >= 2:
|
|
|
+ region_recall = recall_result_list[0]
|
|
|
+ sim_recall = []
|
|
|
+ if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
|
+ sim_recall = recall_result_list[1]
|
|
|
+ else:
|
|
|
+ if len(recall_result_list)>=4:
|
|
|
+ sim_recall = recall_result_list[3]
|
|
|
+ now_video_ids = set('')
|
|
|
+ if len(region_recall) > 0:
|
|
|
+ for video in region_recall:
|
|
|
+ video_id = video.get('videoId')
|
|
|
+ if video_id not in now_video_ids:
|
|
|
+ rov_pool_recall.append(video)
|
|
|
+ now_video_ids.add(video_id)
|
|
|
+ if len(sim_recall) > 0:
|
|
|
+ for video in sim_recall:
|
|
|
+ video_id = video.get('videoId')
|
|
|
+ # print("sim video_id:", video_id)
|
|
|
+ if video_id not in now_video_ids:
|
|
|
+ rov_pool_recall.append(video)
|
|
|
+ now_video_ids.add(video_id)
|
|
|
+ if len(rov_pool_recall) > 0:
|
|
|
+ recall_result_list[0] = rov_pool_recall
|
|
|
# merge hot 3day recall
|
|
|
if ab_code == 60055:
|
|
|
rov_pool_recall = []
|
|
|
- if len(recall_result_list)>=3:
|
|
|
+ if len(recall_result_list)>=2:
|
|
|
region_recall = recall_result_list[0]
|
|
|
hot_3_day_recall = []
|
|
|
if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
|
hot_3_day_recall = recall_result_list[1]
|
|
|
else:
|
|
|
- if len(recall_result_list)>=5:
|
|
|
- hot_3_day_recall = recall_result_list[4]
|
|
|
+ if len(recall_result_list)>=4:
|
|
|
+ hot_3_day_recall = recall_result_list[3]
|
|
|
#print("sim:",sim_recall)
|
|
|
now_video_ids = set('')
|
|
|
if len(region_recall)>0:
|
|
@@ -449,17 +454,17 @@ def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
now_video_ids.add(video_id)
|
|
|
if len(rov_pool_recall)>0:
|
|
|
recall_result_list[0] = rov_pool_recall
|
|
|
- # merge hot 7day recall
|
|
|
+ # merge old day recall
|
|
|
if ab_code == 60056:
|
|
|
rov_pool_recall = []
|
|
|
- if len(recall_result_list)>=4:
|
|
|
+ if len(recall_result_list)>=2:
|
|
|
region_recall = recall_result_list[0]
|
|
|
hot_7_day_recall = []
|
|
|
if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
|
hot_7_day_recall = recall_result_list[1]
|
|
|
else:
|
|
|
- if len(recall_result_list) >= 5:
|
|
|
- hot_7_day_recall = recall_result_list[4]
|
|
|
+ if len(recall_result_list) >= 3:
|
|
|
+ hot_7_day_recall = recall_result_list[3]
|
|
|
now_video_ids = set('')
|
|
|
if len(region_recall)>0:
|
|
|
for video in region_recall:
|
|
@@ -1523,6 +1528,7 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
|
# 简单召回 - 排序 - 兜底
|
|
|
get_result_st = time.time()
|
|
|
#print("ab_code:", ab_code)
|
|
|
+ #new pipeline
|
|
|
if ab_code == 60047 or ab_code == 60048 or ab_code == 60049:
|
|
|
result = new_video_recommend(request_id=request_id,
|
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
@@ -1532,6 +1538,7 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
|
rule_key=rule_key, data_key=data_key,
|
|
|
no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
|
+ # old base (test4, test5)
|
|
|
elif ab_code == 60050 or ab_code == 60051:
|
|
|
result = video_recommend(request_id=request_id,
|
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
@@ -1541,7 +1548,11 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
|
rule_key=rule_key, data_key=data_key,
|
|
|
no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
|
- elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or ab_code == 60056:
|
|
|
+ # 60052,60053,60057(test7, test8, test6)
|
|
|
+ # simrecal: 60054
|
|
|
+ # 3 days , 7days recall: 60005, test1
|
|
|
+ # old video: 60056, test2
|
|
|
+ elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or ab_code == 60056 or ab_code==60057:
|
|
|
result = video_old_recommend(request_id=request_id,
|
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
|
size=size, top_K=top_K, flow_pool_P=flow_pool_P,
|
|
@@ -1583,7 +1594,8 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
|
update_flow_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
elif ab_code == 60050 or ab_code == 60051:
|
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
- elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or ab_code == 60056:
|
|
|
+ elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 \
|
|
|
+ or ab_code == 60056 or ab_code==60057:
|
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
else:
|
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
@@ -1667,7 +1679,8 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
|
|
|
rule_key=rule_key, data_key=data_key, no_op_flag=no_op_flag,
|
|
|
old_video_index=old_video_index, video_id=video_id,
|
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
|
- elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or ab_code == 60056:
|
|
|
+ elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or \
|
|
|
+ ab_code == 60056 or ab_code==60057:
|
|
|
result = video_old_recommend(request_id=request_id,
|
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
|
size=size, top_K=top_K, flow_pool_P=flow_pool_P,
|
|
@@ -1710,7 +1723,8 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
|
|
|
update_flow_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
elif ab_code == 60050 or ab_code == 60051:
|
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
- elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or ab_code == 60056:
|
|
|
+ elif ab_code == 60052 or ab_code == 60053 or ab_code == 60054 or ab_code == 60055 or \
|
|
|
+ ab_code == 60056 or ab_code==60057:
|
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
else:
|
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|