|
@@ -10,7 +10,7 @@ import config
|
|
from log import Log
|
|
from log import Log
|
|
from config import set_config
|
|
from config import set_config
|
|
from video_recall import PoolRecall
|
|
from video_recall import PoolRecall
|
|
-from video_rank import video_new_rank,video_rank,refactor_video_rank, bottom_strategy, video_rank_by_w_h_rate, video_rank_with_old_video, bottom_strategy2
|
|
|
|
|
|
+from video_rank import video_new_rank2, video_sanke_rank,video_new_rank,video_rank,refactor_video_rank, bottom_strategy, video_rank_by_w_h_rate, video_rank_with_old_video, bottom_strategy2
|
|
from db_helper import RedisHelper
|
|
from db_helper import RedisHelper
|
|
import gevent
|
|
import gevent
|
|
from utils import FilterVideos, get_user_has30day_return
|
|
from utils import FilterVideos, get_user_has30day_return
|
|
@@ -197,10 +197,22 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
|
|
|
|
if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
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)]
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall_with_region, size, expire_time)]
|
|
|
|
+ if ab_code==60058:
|
|
|
|
+ t.append(gevent.spawn(pool_recall.get_hot_item_reall))
|
|
|
|
+ elif ab_code==60059:
|
|
|
|
+ t.append(gevent.spawn(pool_recall.get_word2vec_item_reall))
|
|
|
|
+ elif ab_code==60061:
|
|
|
|
+ t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter))
|
|
else:
|
|
else:
|
|
t = [gevent.spawn(pool_recall.rov_pool_recall_with_region, size, expire_time),
|
|
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, config_.QUICK_FLOW_POOL_ID),
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
gevent.spawn(pool_recall.flow_pool_recall, size)]
|
|
|
|
+ if ab_code==60058:
|
|
|
|
+ t.append(gevent.spawn(pool_recall.get_hot_item_reall))
|
|
|
|
+ elif ab_code == 60059:
|
|
|
|
+ t.append(gevent.spawn(pool_recall.get_word2vec_item_reall))
|
|
|
|
+ elif ab_code == 60061:
|
|
|
|
+ t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall_filter))
|
|
|
|
|
|
# 最惊奇相关推荐实验
|
|
# 最惊奇相关推荐实验
|
|
# elif ab_code == config_.AB_CODE['top_video_relevant_appType_19']:
|
|
# elif ab_code == config_.AB_CODE['top_video_relevant_appType_19']:
|
|
@@ -281,10 +293,40 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
'rov_pool_recall': recall_result_list[0],
|
|
'rov_pool_recall': recall_result_list[0],
|
|
'flow_pool_recall': recall_result_list[2]
|
|
'flow_pool_recall': recall_result_list[2]
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if ab_code == 60058:
|
|
|
|
+ if len(recall_result_list)>=4:
|
|
|
|
+ data['hot_recall'] = recall_result_list[3]
|
|
|
|
+ else:
|
|
|
|
+ data['hot_recall'] = []
|
|
|
|
+ elif ab_code == 60059:
|
|
|
|
+ if len(recall_result_list)>=4:
|
|
|
|
+ data['w2v_recall'] = recall_result_list[3]
|
|
|
|
+ else:
|
|
|
|
+ data['w2v_recall'] = []
|
|
|
|
+ elif ab_code == 60061:
|
|
|
|
+ if len(recall_result_list)>=4:
|
|
|
|
+ data['sim_recall'] = recall_result_list[3]
|
|
|
|
+ else:
|
|
|
|
+ data['sim_recall'] = []
|
|
#if ab_code=="ab_new_test":
|
|
#if ab_code=="ab_new_test":
|
|
# rank_result = video_new_rank(data=data, size=size, top_K=top_K, flow_pool_P=float(flow_pool_P))
|
|
# rank_result = video_new_rank(data=data, size=size, top_K=top_K, flow_pool_P=float(flow_pool_P))
|
|
#else:
|
|
#else:
|
|
- rank_result = video_rank(data=data, size=size, top_K=top_K, flow_pool_P=float(flow_pool_P))
|
|
|
|
|
|
+ #print("data['hot_recall']", data['hot_recall'])
|
|
|
|
+ if ab_code == 60058 or ab_code == 60059 or ab_code == 60060 or ab_code == 60061 :
|
|
|
|
+ test_config = None
|
|
|
|
+ if ab_code == 60058:
|
|
|
|
+ test_config =pool_recall.get_hotrecall_config()
|
|
|
|
+ elif ab_code == 60059:
|
|
|
|
+ test_config = pool_recall.get_w2v_config()
|
|
|
|
+ elif ab_code == 60060:
|
|
|
|
+ test_config = pool_recall.get_test_config()
|
|
|
|
+ elif ab_code == 60061:
|
|
|
|
+ test_config = pool_recall.get_simrecall_config()
|
|
|
|
+ #print("test config:",test_config)
|
|
|
|
+ rank_result = video_sanke_rank(data=data, size=size, top_K=top_K, flow_pool_P=float(flow_pool_P), ab_Code=ab_code, exp_config=test_config)
|
|
|
|
+ else:
|
|
|
|
+ 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']]:
|
|
# if ab_code in [config_.AB_CODE['old_video']]:
|
|
@@ -336,6 +378,199 @@ def video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, al
|
|
#
|
|
#
|
|
# result['rankResult'] = rank_result
|
|
# result['rankResult'] = rank_result
|
|
|
|
|
|
|
|
+ return result
|
|
|
|
+ # return rank_result, last_rov_recall_key
|
|
|
|
+
|
|
|
|
+def video_old_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type, algo_type, client_info,
|
|
|
|
+ expire_time=24*3600, ab_code=config_.AB_CODE['initial'], rule_key='', data_key='',
|
|
|
|
+ no_op_flag=False, old_video_index=-1, video_id=None, params=None, rule_key_30day=None,
|
|
|
|
+ shield_config=None):
|
|
|
|
+ """
|
|
|
|
+ 首页线上推荐逻辑
|
|
|
|
+ :param request_id: request_id
|
|
|
|
+ :param mid: mid type-string
|
|
|
|
+ :param uid: uid type-string
|
|
|
|
+ :param size: 请求视频数量 type-int
|
|
|
|
+ :param top_K: 保证topK为召回池视频 type-int
|
|
|
|
+ :param flow_pool_P: size-top_K视频为流量池视频的概率 type-float
|
|
|
|
+ :param app_type: 产品标识 type-int
|
|
|
|
+ :param algo_type: 算法类型 type-string
|
|
|
|
+ :param client_info: 用户位置信息 {"country": "国家", "province": "省份", "city": "城市"}
|
|
|
|
+ :param expire_time: 末位视频记录redis过期时间
|
|
|
|
+ :param ab_code: AB实验code
|
|
|
|
+ :param video_id: 相关推荐头部视频id
|
|
|
|
+ :param params:
|
|
|
|
+ :return:
|
|
|
|
+ """
|
|
|
|
+ result = {}
|
|
|
|
+ # ####### 多进程召回
|
|
|
|
+ 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,
|
|
|
|
+ client_info=client_info, rule_key=rule_key, data_key=data_key, no_op_flag=no_op_flag,
|
|
|
|
+ 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)]
|
|
|
|
+ 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_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)]
|
|
|
|
+ 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_hot_item_reall))
|
|
|
|
+
|
|
|
|
+ gevent.joinall(t)
|
|
|
|
+ recall_result_list = [i.get() for i in t]
|
|
|
|
+
|
|
|
|
+ #print("recall:",recall_result_list)
|
|
|
|
+ if len(recall_result_list)<0:
|
|
|
|
+ result['recallResult']= []
|
|
|
|
+ result['rankResult'] = []
|
|
|
|
+ return result
|
|
|
|
+ #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)>=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)>=4:
|
|
|
|
+ hot_3_day_recall = recall_result_list[3]
|
|
|
|
+ #print("sim:",sim_recall)
|
|
|
|
+ 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(hot_3_day_recall)>0:
|
|
|
|
+ for video in hot_3_day_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 old day recall
|
|
|
|
+ if ab_code == 60056:
|
|
|
|
+ rov_pool_recall = []
|
|
|
|
+ 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) >= 3:
|
|
|
|
+ hot_7_day_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(hot_7_day_recall)>0:
|
|
|
|
+ for video in hot_7_day_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
|
|
|
|
+
|
|
|
|
+ result['recallResult'] = recall_result_list
|
|
|
|
+ result['recallTime'] = (time.time() - start_recall) * 1000
|
|
|
|
+ #print("recall:", recall_result_list)
|
|
|
|
+ # ####### 排序
|
|
|
|
+ start_rank = time.time()
|
|
|
|
+ # log_.info('====== rank')
|
|
|
|
+ if app_type in [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]:
|
|
|
|
+ if ab_code in [
|
|
|
|
+ config_.AB_CODE['rov_rank_appType_18_19'],
|
|
|
|
+ config_.AB_CODE['rov_rank_appType_19'],
|
|
|
|
+ config_.AB_CODE['top_video_relevant_appType_19']
|
|
|
|
+ ]:
|
|
|
|
+ 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': []
|
|
|
|
+ }
|
|
|
|
+ else:
|
|
|
|
+ if recall_result_list[1]:
|
|
|
|
+ redis_helper = RedisHelper()
|
|
|
|
+ quick_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}"
|
|
|
|
+ )
|
|
|
|
+ if quick_flow_pool_P:
|
|
|
|
+ flow_pool_P = quick_flow_pool_P
|
|
|
|
+ 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]
|
|
|
|
+ }
|
|
|
|
+ #if ab_code=="ab_new_test":
|
|
|
|
+ #print("before data:", data)
|
|
|
|
+ rank_result = video_new_rank2(data=data, size=size, top_K=top_K, flow_pool_P=float(flow_pool_P), ab_code=ab_code)
|
|
|
|
+ #print(rank_result)
|
|
|
|
+
|
|
|
|
+ result['rankResult'] = rank_result
|
|
|
|
+ result['rankTime'] = (time.time() - start_rank) * 1000
|
|
|
|
+
|
|
|
|
+
|
|
return result
|
|
return result
|
|
# return rank_result, last_rov_recall_key
|
|
# return rank_result, last_rov_recall_key
|
|
|
|
|
|
@@ -394,6 +629,8 @@ def new_video_recommend(request_id, mid, uid, size, top_K, flow_pool_P, app_type
|
|
gevent.spawn(pool_recall.get_selected_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.get_no_selected_recall, size, region_code)
|
|
]
|
|
]
|
|
|
|
+ if ab_code == 60049:
|
|
|
|
+ t.append(gevent.spawn(pool_recall.get_sim_hot_item_reall))
|
|
else:
|
|
else:
|
|
t = [
|
|
t = [
|
|
gevent.spawn(pool_recall.get_region_hour_recall, size, region_code),
|
|
gevent.spawn(pool_recall.get_region_hour_recall, size, region_code),
|
|
@@ -884,6 +1121,8 @@ def get_recommend_params(recommend_type, ab_exp_info, ab_info_data, mid, app_typ
|
|
flow_pool_P = 0.4
|
|
flow_pool_P = 0.4
|
|
elif '301' in ab_exp_code_list:
|
|
elif '301' in ab_exp_code_list:
|
|
flow_pool_P = 0.6
|
|
flow_pool_P = 0.6
|
|
|
|
+ elif '339' in ab_exp_code_list:
|
|
|
|
+ flow_pool_P = 0
|
|
|
|
|
|
# if '136' in ab_exp_code_list:
|
|
# if '136' in ab_exp_code_list:
|
|
# # 无回流 - 消费人群
|
|
# # 无回流 - 消费人群
|
|
@@ -1333,6 +1572,7 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
# 简单召回 - 排序 - 兜底
|
|
# 简单召回 - 排序 - 兜底
|
|
get_result_st = time.time()
|
|
get_result_st = time.time()
|
|
#print("ab_code:", ab_code)
|
|
#print("ab_code:", ab_code)
|
|
|
|
+ #new pipeline
|
|
if ab_code == 60047 or ab_code == 60048 or ab_code == 60049:
|
|
if ab_code == 60047 or ab_code == 60048 or ab_code == 60049:
|
|
result = new_video_recommend(request_id=request_id,
|
|
result = new_video_recommend(request_id=request_id,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
@@ -1342,6 +1582,7 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
rule_key=rule_key, data_key=data_key,
|
|
rule_key=rule_key, data_key=data_key,
|
|
no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
|
|
+ # old base (test4, test5)
|
|
elif ab_code == 60050 or ab_code == 60051:
|
|
elif ab_code == 60050 or ab_code == 60051:
|
|
result = video_recommend(request_id=request_id,
|
|
result = video_recommend(request_id=request_id,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
@@ -1351,6 +1592,19 @@ def video_homepage_recommend(request_id, mid, uid, size, app_type, algo_type,
|
|
rule_key=rule_key, data_key=data_key,
|
|
rule_key=rule_key, data_key=data_key,
|
|
no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
no_op_flag=no_op_flag, old_video_index=old_video_index,
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
|
|
+ # 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,
|
|
|
|
+ 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= None,
|
|
|
|
+ params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
else:
|
|
else:
|
|
result = video_recommend(request_id=request_id,
|
|
result = video_recommend(request_id=request_id,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
@@ -1384,6 +1638,9 @@ 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)
|
|
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:
|
|
elif ab_code == 60050 or ab_code == 60051:
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
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 or ab_code==60057:
|
|
|
|
+ update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
else:
|
|
else:
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
# log_.info({
|
|
# log_.info({
|
|
@@ -1466,6 +1723,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,
|
|
rule_key=rule_key, data_key=data_key, no_op_flag=no_op_flag,
|
|
old_video_index=old_video_index, video_id=video_id,
|
|
old_video_index=old_video_index, video_id=video_id,
|
|
params=params, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
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 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,
|
|
|
|
+ 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, rule_key_30day=rule_key_30day, shield_config=shield_config)
|
|
else:
|
|
else:
|
|
result = video_recommend(request_id=request_id,
|
|
result = video_recommend(request_id=request_id,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
mid=mid, uid=uid, app_type=app_type,
|
|
@@ -1497,11 +1764,14 @@ def video_relevant_recommend(request_id, video_id, mid, uid, size, app_type, ab_
|
|
# redis数据刷新
|
|
# redis数据刷新
|
|
update_redis_st = time.time()
|
|
update_redis_st = time.time()
|
|
if ab_code == 60047 or ab_code == 60048 or ab_code == 60049:
|
|
if ab_code == 60047 or ab_code == 60048 or ab_code == 60049:
|
|
- update_flow_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
|
|
|
+ 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:
|
|
elif ab_code == 60050 or ab_code == 60051:
|
|
- update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
|
|
|
+ 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 or ab_code==60057:
|
|
|
|
+ update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
else:
|
|
else:
|
|
- update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
|
|
|
|
+ update_redis_data(result=rank_result, app_type=app_type, mid=mid, top_K=top_K)
|
|
# log_.info({
|
|
# log_.info({
|
|
# 'logTimestamp': int(time.time() * 1000),
|
|
# 'logTimestamp': int(time.time() * 1000),
|
|
# 'request_id': request_id,
|
|
# 'request_id': request_id,
|