|
@@ -434,10 +434,21 @@ class PoolRecall(object):
|
|
|
def flow_pool_recall(self, size=10, flow_pool_id=None):
|
|
|
"""从流量池中获取视频"""
|
|
|
start_time = time.time()
|
|
|
+ # 获取存在城市分组数据的城市编码列表
|
|
|
+ city_code_list = [code for _, code in config_.CITY_CODE.items()]
|
|
|
# 获取provinceCode
|
|
|
province_code = self.client_info.get('provinceCode', '-1')
|
|
|
- if province_code == '':
|
|
|
- province_code = '-1'
|
|
|
+ # 获取cityCode
|
|
|
+ city_code = self.client_info.get('cityCode', '-1')
|
|
|
+
|
|
|
+ if city_code in city_code_list:
|
|
|
+ # 分城市数据存在时,获取城市分组数据
|
|
|
+ region_code = city_code
|
|
|
+ else:
|
|
|
+ region_code = province_code
|
|
|
+ if region_code == '':
|
|
|
+ region_code = '-1'
|
|
|
+
|
|
|
flow_pool_key = self.get_pool_redis_key('flow', flow_pool_id=flow_pool_id)
|
|
|
print(flow_pool_key)
|
|
|
flow_pool_recall_result = []
|
|
@@ -487,7 +498,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)
|
|
|
- ge = gevent.spawn(filter_.filter_videos, pool_type='flow', province_code=province_code)
|
|
|
+ ge = gevent.spawn(filter_.filter_videos, pool_type='flow', region_code=region_code)
|
|
|
ge.join()
|
|
|
filtered_result = ge.get()
|
|
|
# 检查可分发数
|
|
@@ -945,14 +956,24 @@ class PoolRecall(object):
|
|
|
else:
|
|
|
# 判断热度列表是否更新,未更新则使用前一小时的热度列表
|
|
|
if self.ab_code in [code for _, code in config_.AB_CODE['region_rank_by_h'].items()]:
|
|
|
+ # 获取存在城市分组数据的城市编码列表
|
|
|
+ city_code_list = [code for _, code in config_.CITY_CODE.items()]
|
|
|
# 获取provinceCode
|
|
|
province_code = self.client_info.get('provinceCode', '-1')
|
|
|
- if province_code == '':
|
|
|
- province_code = '-1'
|
|
|
+ # 获取cityCode
|
|
|
+ city_code = self.client_info.get('cityCode', '-1')
|
|
|
+ if city_code in city_code_list:
|
|
|
+ # 分城市数据存在时,获取城市分组数据
|
|
|
+ region_code = city_code
|
|
|
+ else:
|
|
|
+ region_code = province_code
|
|
|
+ if region_code == '':
|
|
|
+ region_code = '-1'
|
|
|
+
|
|
|
if self.ab_code == config_.AB_CODE['region_rank_by_h'].get('region_rule_rank2'):
|
|
|
- key_prefix = f"{config_.RECALL_KEY_NAME_PREFIX_DUP_REGION_24H}{province_code}."
|
|
|
+ key_prefix = f"{config_.RECALL_KEY_NAME_PREFIX_DUP_REGION_24H}{region_code}."
|
|
|
else:
|
|
|
- key_prefix = f"{config_.RECALL_KEY_NAME_PREFIX_DUP_REGION_H}{province_code}:"
|
|
|
+ key_prefix = f"{config_.RECALL_KEY_NAME_PREFIX_DUP_REGION_H}{region_code}:"
|
|
|
elif self.ab_code in [code for _, code in config_.AB_CODE['rank_by_24h'].items()]:
|
|
|
key_prefix = config_.RECALL_KEY_NAME_PREFIX_DUP_24H
|
|
|
else:
|
|
@@ -1185,29 +1206,39 @@ class PoolRecall(object):
|
|
|
:return:
|
|
|
"""
|
|
|
start_time = time.time()
|
|
|
+ # 获取存在城市分组数据的城市编码列表
|
|
|
+ city_code_list = [code for _, code in config_.CITY_CODE.items()]
|
|
|
# 获取provinceCode
|
|
|
province_code = self.client_info.get('provinceCode', '-1')
|
|
|
- if province_code == '':
|
|
|
- province_code = '-1'
|
|
|
+ # 获取cityCode
|
|
|
+ city_code = self.client_info.get('cityCode', '-1')
|
|
|
+
|
|
|
+ if city_code in city_code_list:
|
|
|
+ # 分城市数据存在时,获取城市分组数据
|
|
|
+ region_code = city_code
|
|
|
+ else:
|
|
|
+ region_code = province_code
|
|
|
+ if region_code == '':
|
|
|
+ region_code = '-1'
|
|
|
|
|
|
# if self.ab_code in [config_.AB_CODE['region_rank_by_h'].get('region_rule_rank5_appType_0_data1'),
|
|
|
# config_.AB_CODE['region_rank_by_h'].get('abtest_082'),
|
|
|
# config_.AB_CODE['region_rank_by_h'].get('abtest_112')]:
|
|
|
|
|
|
- if province_code == '-1':
|
|
|
+ if region_code == '-1':
|
|
|
t = [
|
|
|
# gevent.spawn(self.rov_pool_recall_with_region_by_h, province_code, size, 'day_24h'),
|
|
|
- gevent.spawn(self.recall_region_dup_24h, province_code, size, '24h_dup2', expire_time),
|
|
|
- gevent.spawn(self.recall_region_dup_24h, province_code, size, '24h_dup3', expire_time)]
|
|
|
+ gevent.spawn(self.recall_region_dup_24h, region_code, size, '24h_dup2', expire_time),
|
|
|
+ gevent.spawn(self.recall_region_dup_24h, region_code, size, '24h_dup3', expire_time)]
|
|
|
else:
|
|
|
t = [
|
|
|
# gevent.spawn(self.rov_pool_recall_with_region_by_h, province_code, size),
|
|
|
# gevent.spawn(self.rov_pool_recall_with_region_by_h, province_code, size, 'region_24h'),
|
|
|
# gevent.spawn(self.rov_pool_recall_with_region_by_h, province_code, size, 'day_24h'),
|
|
|
- gevent.spawn(self.recall_region_dup_24h, province_code, size, 'region_h', expire_time),
|
|
|
- gevent.spawn(self.recall_region_dup_24h, province_code, size, 'region_24h', expire_time),
|
|
|
- gevent.spawn(self.recall_region_dup_24h, province_code, size, '24h_dup2', expire_time),
|
|
|
- gevent.spawn(self.recall_region_dup_24h, province_code, size, '24h_dup3', expire_time)]
|
|
|
+ gevent.spawn(self.recall_region_dup_24h, region_code, size, 'region_h', expire_time),
|
|
|
+ gevent.spawn(self.recall_region_dup_24h, region_code, size, 'region_24h', expire_time),
|
|
|
+ gevent.spawn(self.recall_region_dup_24h, region_code, size, '24h_dup2', expire_time),
|
|
|
+ gevent.spawn(self.recall_region_dup_24h, region_code, size, '24h_dup3', expire_time)]
|
|
|
# else:
|
|
|
# if province_code == '-1':
|
|
|
# # t = [gevent.spawn(self.rov_pool_recall_with_region_by_h, province_code, size, 'day_24h')]
|