|
@@ -396,11 +396,11 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
]
|
|
|
else:
|
|
|
t = [
|
|
|
- #gevent.spawn(pool_recall.get_region_hour_recall, size, region_code),
|
|
|
- #gevent.spawn(pool_recall.get_region_day_recall, size, region_code),
|
|
|
- #gevent.spawn(pool_recall.get_selected_recall, size, region_code),
|
|
|
- #gevent.spawn(pool_recall.get_no_selected_recall, size, region_code),
|
|
|
- gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
|
|
|
+ gevent.spawn(pool_recall.get_region_hour_recall, size, region_code),
|
|
|
+ gevent.spawn(pool_recall.get_region_day_recall, size, region_code),
|
|
|
+ gevent.spawn(pool_recall.get_selected_recall, size, region_code),
|
|
|
+ gevent.spawn(pool_recall.get_no_selected_recall, size, region_code),
|
|
|
+ #gevent.spawn(pool_recall.flow_pool_recall, size, config_.QUICK_FLOW_POOL_ID),
|
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
|
|
|
if ab_code ==60049:
|
|
@@ -409,9 +409,9 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
# all recall_result
|
|
|
all_recall_result_list = [i.get() for i in t]
|
|
|
all_recall_result = []
|
|
|
- print(all_recall_result_list)
|
|
|
+ #print(all_recall_result_list)
|
|
|
result['recallTime'] = (time.time() - start_recall) * 1000
|
|
|
-
|
|
|
+ print("all recall time:", result['recallTime'])
|
|
|
if not all_recall_result_list or len(all_recall_result_list)==0:
|
|
|
return result
|
|
|
for recall_item in all_recall_result_list:
|
|
@@ -423,6 +423,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
#print("all_recall_result:", all_recall_result)
|
|
|
#2. duplicate
|
|
|
recall_dict = {}
|
|
|
+ duplicat_time = time.time()
|
|
|
fast_flow_set = set('')
|
|
|
flow_flow_set = set('')
|
|
|
region_h_recall = []
|
|
@@ -466,7 +467,9 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
else:
|
|
|
recall_name = recall_dict[vId] + "," + recall_name
|
|
|
recall_dict[vId] = recall_name
|
|
|
- print("recall_dict:", recall_dict)
|
|
|
+ #print("recall_dict:", recall_dict)
|
|
|
+ end_duplicat_time = time.time()
|
|
|
+ print("duplicate time:", (end_duplicat_time-duplicat_time)*1000)
|
|
|
#3. filter video, 先过预曝光
|
|
|
filter_ = FilterVideos(request_id=request_id,
|
|
|
app_type=app_type, mid=mid, uid=uid, video_ids=list(recall_dict.keys()))
|
|
@@ -477,6 +480,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
all_recall_list = filter_.filter_videos_new(pool_type='rov', region_code=region_code, shield_config=shield_config)
|
|
|
#print("filer after:", all_recall_list)
|
|
|
#4. sort: old sort: flow 按概率出
|
|
|
+ print("filter time:", (time.time()-end_duplicat_time)*1000)
|
|
|
start_rank = time.time()
|
|
|
#quick_flow_pool_P get from redis
|
|
|
redis_helper = RedisHelper()
|
|
@@ -489,7 +493,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
rank_result= []
|
|
|
if ab_code==60048 or ab_code==60049:
|
|
|
rank_ids, add_flow_set = video_new_rank(videoIds=all_recall_list,fast_flow_set=fast_flow_set, flow_set=flow_flow_set,size=size, top_K=top_K, flow_pool_P=float(flow_pool_P))
|
|
|
- print("rank_ids:", rank_ids)
|
|
|
+ #print("rank_ids:", rank_ids)
|
|
|
for rank_item in rank_ids:
|
|
|
rank_id = rank_item[0]
|
|
|
rank_score = rank_item[1]
|
|
@@ -509,6 +513,7 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
|
|
|
|
result['rankResult'] = rank_result
|
|
|
result['rankTime'] = (time.time() - start_rank) * 1000
|
|
|
+ print("rank time:", result['rankTime'])
|
|
|
return result
|
|
|
# return rank_result, last_rov_recall_key
|
|
|
|
|
@@ -1414,7 +1419,7 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
|
|
|
no_op_flag, old_video_index, rule_key_30day, shield_config = \
|
|
|
get_recommend_params(recommend_type=1, ab_exp_info=ab_exp_info, ab_info_data=ab_info_data, page_type=page_type,
|
|
|
mid=mid, app_type=app_type)
|
|
|
- # log_.info({
|
|
|
+ #log_.info({
|
|
|
# 'logTimestamp': int(time.time() * 1000),
|
|
|
# 'request_id': request_id,
|
|
|
# 'app_type': app_type,
|
|
@@ -1423,6 +1428,7 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
|
|
|
# 'operation': 'get_recommend_params',
|
|
|
# 'executeTime': (time.time() - param_st) * 1000
|
|
|
# })
|
|
|
+ print("get params:", (time.time() - param_st) * 1000)
|
|
|
recommend_result['getRecommendParamsTime'] = (time.time() - param_st) * 1000
|
|
|
|
|
|
# 简单召回 - 排序 - 兜底
|
|
@@ -1447,15 +1453,16 @@ 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)
|
|
|
- # log_.info({
|
|
|
- # 'logTimestamp': int(time.time() * 1000),
|
|
|
- # 'request_id': request_id,
|
|
|
- # 'app_type': app_type,
|
|
|
- # 'mid': mid,
|
|
|
- # 'uid': uid,
|
|
|
- # 'operation': 'get_recommend_result',
|
|
|
- # 'executeTime': (time.time() - get_result_st) * 1000
|
|
|
- # })
|
|
|
+ #log_.info({
|
|
|
+ # 'logTimestamp': int(time.time() * 1000),
|
|
|
+ # 'request_id': request_id,
|
|
|
+ # 'app_type': app_type,
|
|
|
+ # 'mid': mid,
|
|
|
+ # 'uid': uid,
|
|
|
+ # 'operation': 'get_recommend_result',
|
|
|
+ # 'executeTime': (time.time() - get_result_st) * 1000
|
|
|
+ #})
|
|
|
+ print("executeTime:", (time.time() - get_result_st) * 1000)
|
|
|
recommend_result['recommendOperation'] = result
|
|
|
rank_result = result.get('rankResult')
|
|
|
recommend_result['videos'] = rank_result
|