|
@@ -180,7 +180,7 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
app_type=app_type, mid=mid, uid=uid, ab_code=ab_code,
|
|
|
client_info=client_info, rule_key=rule_key, data_key=data_key, no_op_flag=no_op_flag,
|
|
|
params=params)
|
|
|
- _, last_rov_recall_key, _ = pool_recall.get_video_last_idx()
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -192,13 +192,15 @@ 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['region_rank_by_h'].items()]:
|
|
|
- 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)]
|
|
|
- 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)]
|
|
|
+
|
|
|
+
|
|
|
+ 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)]
|
|
|
+ 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)]
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -220,13 +222,13 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
|
|
|
|
|
|
|
|
|
- else:
|
|
|
- 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, size, expire_time)]
|
|
|
- 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]
|
|
|
|
|
@@ -302,14 +304,18 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
|
|
|
|
|
|
start_bottom = time.time()
|
|
|
- if ab_code == config_.AB_CODE['region_rank_by_h'].get('abtest_130'):
|
|
|
- rank_result = bottom_strategy2(
|
|
|
- size=size, app_type=app_type, mid=mid, uid=uid, ab_code=ab_code, client_info=client_info, params=params
|
|
|
- )
|
|
|
- else:
|
|
|
- rank_result = bottom_strategy(
|
|
|
- request_id=request_id, size=size, app_type=app_type, ab_code=ab_code, params=params
|
|
|
- )
|
|
|
+ rank_result = bottom_strategy2(
|
|
|
+ size=size, app_type=app_type, mid=mid, uid=uid, ab_code=ab_code, client_info=client_info, params=params
|
|
|
+ )
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -325,7 +331,7 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
|
|
|
result['rankResult'] = rank_result
|
|
|
|
|
|
- return result, last_rov_recall_key
|
|
|
+ return result
|
|
|
|
|
|
|
|
|
|
|
@@ -369,7 +375,7 @@ def ab_test_op(rank_result, ab_code_list, app_type, mid, uid, **kwargs):
|
|
|
return rank_result
|
|
|
|
|
|
|
|
|
-def update_redis_data(result, app_type, mid, last_rov_recall_key, top_K, expire_time=24*3600):
|
|
|
+def update_redis_data(result, app_type, mid, top_K, expire_time=24*3600):
|
|
|
"""
|
|
|
根据最终的排序结果更新相关redis数据
|
|
|
:param result: 排序结果
|
|
@@ -394,17 +400,17 @@ def update_redis_data(result, app_type, mid, last_rov_recall_key, top_K, expire_
|
|
|
redis_helper.add_data_with_set(key_name=preview_key_name, values=tuple(preview_video_ids), expire_time=30 * 60)
|
|
|
|
|
|
|
|
|
-
|
|
|
- rov_recall_video = [item['videoId'] for item in result[:top_K]
|
|
|
- if item['pushFrom'] == config_.PUSH_FROM['rov_recall']]
|
|
|
- if len(rov_recall_video) > 0:
|
|
|
- if app_type == config_.APP_TYPE['APP']:
|
|
|
- key_name = config_.UPDATE_ROV_KEY_NAME_APP
|
|
|
- else:
|
|
|
- key_name = config_.UPDATE_ROV_KEY_NAME
|
|
|
- if not redis_helper.get_score_with_value(key_name=key_name, value=rov_recall_video[-1]):
|
|
|
- redis_helper.set_data_to_redis(key_name=last_rov_recall_key, value=rov_recall_video[-1],
|
|
|
- expire_time=expire_time)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -932,15 +938,14 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
|
|
|
|
|
|
|
get_result_st = time.time()
|
|
|
- result, last_rov_recall_key = video_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,
|
|
|
- algo_type=algo_type, client_info=client_info,
|
|
|
- ab_code=ab_code, expire_time=expire_time,
|
|
|
- rule_key=rule_key, data_key=data_key,
|
|
|
- no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
|
- params=params)
|
|
|
+ result = video_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,
|
|
|
+ algo_type=algo_type, client_info=client_info,
|
|
|
+ ab_code=ab_code, expire_time=expire_time,
|
|
|
+ rule_key=rule_key, data_key=data_key,
|
|
|
+ no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
|
+ params=params)
|
|
|
|
|
|
|
|
|
|
|
@@ -961,8 +966,7 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
|
|
|
|
|
|
|
update_redis_st = time.time()
|
|
|
- update_redis_data(result=rank_result, app_type=app_type, mid=mid, last_rov_recall_key=last_rov_recall_key,
|
|
|
- top_K=top_K)
|
|
|
+ update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
|
|
|
|
|
|
|
|
@@ -1019,18 +1023,16 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
|
|
|
|
|
|
recommend_result['getRecommendParamsTime'] = (time.time() - param_st) * 1000
|
|
|
|
|
|
-
|
|
|
|
|
|
get_result_st = time.time()
|
|
|
- result, last_rov_recall_key = video_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,
|
|
|
- algo_type='', client_info=client_info,
|
|
|
- ab_code=ab_code, expire_time=expire_time,
|
|
|
- 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)
|
|
|
+ result = video_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,
|
|
|
+ algo_type='', client_info=client_info,
|
|
|
+ ab_code=ab_code, expire_time=expire_time,
|
|
|
+ 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)
|
|
|
|
|
|
|
|
|
|
|
@@ -1052,8 +1054,7 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
|
|
|
|
|
|
|
|
|
update_redis_st = time.time()
|
|
|
- update_redis_data(result=rank_result, app_type=app_type, mid=mid, last_rov_recall_key=last_rov_recall_key,
|
|
|
- top_K=top_K)
|
|
|
+ update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
|
|
|
|
|
|
|