|
@@ -23,7 +23,7 @@ class PoolRecall(object):
|
|
|
"""召回"""
|
|
|
def __init__(self, request_id, app_type, client_info=None, mid='', uid='', ab_code='',
|
|
|
rule_key='', data_key='', no_op_flag=False, params=None, rule_key_30day=None, shield_config=None,
|
|
|
- video_id=None, level_weight=None, h_data_key=None, h_rule_key=None):
|
|
|
+ video_id=None, level_weight=None, h_data_key=None, h_rule_key=None, env_dict=None):
|
|
|
"""
|
|
|
初始化
|
|
|
:param request_id: request_id
|
|
@@ -50,6 +50,7 @@ class PoolRecall(object):
|
|
|
self.redis_helper = RedisHelper(params=params)
|
|
|
self.h_data_key = data_key
|
|
|
self.h_rule_key = h_rule_key
|
|
|
+ self.env_dict = env_dict
|
|
|
|
|
|
self.expansion_factor = param_update_expansion_factor()
|
|
|
self.risk_filter_flag = param_update_risk_filter_flag()
|
|
@@ -223,7 +224,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos_h, self.rule_key, self.ab_code, province_code)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -305,7 +306,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -420,7 +421,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -536,7 +537,7 @@ class PoolRecall(object):
|
|
|
expansion_factor=self.expansion_factor,
|
|
|
risk_filter_flag=self.risk_filter_flag,
|
|
|
app_region_filtered=self.app_region_filtered,
|
|
|
- videos_with_risk=self.videos_with_risk
|
|
|
+ videos_with_risk=self.videos_with_risk, env_dict=self.env_dict
|
|
|
)
|
|
|
ge = gevent.spawn(filter_.filter_videos, pool_type='flow',
|
|
|
region_code=region_code, shield_config=self.shield_config)
|
|
@@ -662,7 +663,7 @@ class PoolRecall(object):
|
|
|
video_mapping[video_id].append(flow_pool)
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos, pool_type='flow',
|
|
|
region_code=region_code, shield_config=self.shield_config)
|
|
|
ge.join()
|
|
@@ -797,7 +798,7 @@ class PoolRecall(object):
|
|
|
expansion_factor=self.expansion_factor,
|
|
|
risk_filter_flag=self.risk_filter_flag,
|
|
|
app_region_filtered=self.app_region_filtered,
|
|
|
- videos_with_risk=self.videos_with_risk
|
|
|
+ videos_with_risk=self.videos_with_risk, env_dict=self.env_dict
|
|
|
)
|
|
|
ge = gevent.spawn(filter_.filter_videos, pool_type='flow',
|
|
|
region_code=region_code, shield_config=self.shield_config)
|
|
@@ -938,7 +939,7 @@ class PoolRecall(object):
|
|
|
video_mapping[video_id].append(flow_pool)
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos, pool_type='flow',
|
|
|
region_code=region_code, shield_config=self.shield_config)
|
|
|
ge.join()
|
|
@@ -1092,7 +1093,7 @@ class PoolRecall(object):
|
|
|
expansion_factor=self.expansion_factor,
|
|
|
risk_filter_flag=self.risk_filter_flag,
|
|
|
app_region_filtered=self.app_region_filtered,
|
|
|
- videos_with_risk=self.videos_with_risk
|
|
|
+ videos_with_risk=self.videos_with_risk, env_dict=self.env_dict
|
|
|
)
|
|
|
ge = gevent.spawn(filter_.filter_videos, pool_type='flow',
|
|
|
region_code=region_code, shield_config=self.shield_config)
|
|
@@ -1588,7 +1589,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, video_ids=video_ids, mid=self.mid, uid=self.uid)
|
|
|
+ app_type=self.app_type, video_ids=video_ids, mid=self.mid, uid=self.uid, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -1655,7 +1656,7 @@ class PoolRecall(object):
|
|
|
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, video_ids=video_ids, mid=self.mid, uid=self.uid)
|
|
|
+ app_type=self.app_type, video_ids=video_ids, mid=self.mid, uid=self.uid, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -1857,7 +1858,7 @@ class PoolRecall(object):
|
|
|
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -1952,7 +1953,7 @@ class PoolRecall(object):
|
|
|
# 过滤
|
|
|
old_video_ids = [int(video_id) for video_id in old_videos]
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, video_ids=old_video_ids, mid=self.mid, uid=self.uid)
|
|
|
+ app_type=self.app_type, video_ids=old_video_ids, mid=self.mid, uid=self.uid, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_videos = ge.get()
|
|
@@ -2281,7 +2282,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos_h, self.rule_key, self.data_key,
|
|
|
self.ab_code, province_code, key_flag)
|
|
|
ge.join()
|
|
@@ -2349,7 +2350,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -2461,7 +2462,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos_h, self.rule_key, self.ab_code, '', key_flag)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -2506,7 +2507,7 @@ class PoolRecall(object):
|
|
|
video_ids.append(video_id)
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
- filter_ = FilterVideos(request_id=self.request_id, app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ filter_ = FilterVideos(request_id=self.request_id, app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -2864,7 +2865,7 @@ class PoolRecall(object):
|
|
|
risk_filter_flag=self.risk_filter_flag,
|
|
|
app_region_filtered=self.app_region_filtered,
|
|
|
videos_with_risk=self.videos_with_risk,
|
|
|
- force_truncation=20
|
|
|
+ force_truncation=20, env_dict=self.env_dict
|
|
|
)
|
|
|
ge = gevent.spawn(filter_.filter_videos, '', province_code, None)
|
|
|
ge.join()
|
|
@@ -2955,7 +2956,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos, pool_type='normal',
|
|
|
region_code=province_code, shield_config=self.shield_config)
|
|
|
ge.join()
|
|
@@ -3092,7 +3093,7 @@ class PoolRecall(object):
|
|
|
video_score[video_id] = value[1]
|
|
|
# 过滤
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
ge = gevent.spawn(filter_.filter_videos)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
@@ -3175,7 +3176,7 @@ class PoolRecall(object):
|
|
|
expansion_factor=self.expansion_factor,
|
|
|
risk_filter_flag=self.risk_filter_flag,
|
|
|
app_region_filtered=self.app_region_filtered,
|
|
|
- videos_with_risk=self.videos_with_risk
|
|
|
+ videos_with_risk=self.videos_with_risk, env_dict=self.env_dict
|
|
|
)
|
|
|
filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal', region_code=self.get_region_code())
|
|
|
if filtered_viewed_videos is None:
|
|
@@ -3347,11 +3348,6 @@ class PoolRecall(object):
|
|
|
video_mapping[video_id] = [flow_pool]
|
|
|
else:
|
|
|
video_mapping[video_id].append(flow_pool)
|
|
|
- # 过滤
|
|
|
- # filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- # app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
- # filtered_result = filter_.filter_videos(pool_type='flow', region_code=region_code, shield_config=self.shield_config)
|
|
|
- # print("flow filter time:", (time.time()-et_get)*1000)
|
|
|
# 检查可分发数
|
|
|
if video_ids and len(video_ids)>0:
|
|
|
check_result = self.check_video_counts(video_ids=video_ids, flow_pool_mapping=video_mapping)
|
|
@@ -3417,7 +3413,7 @@ class PoolRecall(object):
|
|
|
video_ids = video_ids[:recall_num]
|
|
|
#print(video_ids)
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal')
|
|
|
if filtered_viewed_videos is None:
|
|
|
return recall_result
|
|
@@ -3460,7 +3456,7 @@ class PoolRecall(object):
|
|
|
video_ids = video_ids[:recall_num]
|
|
|
#print(video_ids)
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
filtered_viewed_videos = filter_.filter_videos(pool_type='rov')
|
|
|
if filtered_viewed_videos is None:
|
|
|
return recall_result
|
|
@@ -3498,7 +3494,7 @@ class PoolRecall(object):
|
|
|
video_ids = video_ids[:50]
|
|
|
# print(video_ids)
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
filtered_viewed_videos = filter_.filter_videos(pool_type='normal')
|
|
|
if filtered_viewed_videos is None:
|
|
|
return recall_result
|
|
@@ -3542,7 +3538,7 @@ class PoolRecall(object):
|
|
|
video_ids = video_ids[:recall_num]
|
|
|
#print(video_ids)
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal')
|
|
|
if filtered_viewed_videos is None:
|
|
|
return recall_result
|
|
@@ -3751,7 +3747,7 @@ class PoolRecall(object):
|
|
|
expansion_factor=self.expansion_factor,
|
|
|
risk_filter_flag=self.risk_filter_flag,
|
|
|
app_region_filtered=self.app_region_filtered,
|
|
|
- videos_with_risk=self.videos_with_risk
|
|
|
+ videos_with_risk=self.videos_with_risk, env_dict=self.env_dict
|
|
|
)
|
|
|
filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal', region_code=self.get_region_code())
|
|
|
if filtered_viewed_videos is None:
|
|
@@ -3799,7 +3795,7 @@ class PoolRecall(object):
|
|
|
video_ids = video_ids[:recall_num]
|
|
|
#print(video_ids)
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal')
|
|
|
if filtered_viewed_videos is None:
|
|
|
return recall_result
|
|
@@ -3859,7 +3855,7 @@ class PoolRecall(object):
|
|
|
expansion_factor=self.expansion_factor,
|
|
|
risk_filter_flag=self.risk_filter_flag,
|
|
|
app_region_filtered=self.app_region_filtered,
|
|
|
- videos_with_risk=self.videos_with_risk
|
|
|
+ videos_with_risk=self.videos_with_risk, env_dict=self.env_dict
|
|
|
)
|
|
|
filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal', region_code=self.get_region_code())
|
|
|
if filtered_viewed_videos is None:
|
|
@@ -3906,7 +3902,7 @@ class PoolRecall(object):
|
|
|
video_ids = video_ids[:recall_num]
|
|
|
#print(video_ids)
|
|
|
filter_ = FilterVideos(request_id=self.request_id,
|
|
|
- app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids, env_dict=self.env_dict)
|
|
|
filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal')
|
|
|
if filtered_viewed_videos is None:
|
|
|
return recall_result
|