|
@@ -1623,13 +1623,13 @@ class PoolRecall(object):
|
|
|
self.redis_helper.set_data_to_redis(key_name=record_key, value=str(value), expire_time=2 * 3600)
|
|
|
return now_pool_recall_key
|
|
|
|
|
|
- def get_video_idx(self, pool_recall_key):
|
|
|
+ def get_video_idx(self, pool_recall_key, last_video_key):
|
|
|
"""
|
|
|
获取上次视频所在位置
|
|
|
:param pool_recall_key: 视频所在列表 key
|
|
|
+ :param last_video_key: 上一次记录的视频
|
|
|
:return: idx
|
|
|
"""
|
|
|
- last_video_key = f'{config_.LAST_VIDEO_FROM_REGION_DUP3_24H_PREFIX}{self.app_type}.{self.mid}'
|
|
|
value = self.redis_helper.get_data_from_redis(last_video_key)
|
|
|
if value:
|
|
|
idx = self.redis_helper.get_index_with_data(key_name=pool_recall_key, value=value)
|
|
@@ -1641,11 +1641,13 @@ class PoolRecall(object):
|
|
|
idx = 0
|
|
|
return idx
|
|
|
|
|
|
- def get_last_recommend_video_idx(self, province_code, record_key_prefix, pool_key_prefix):
|
|
|
+ def get_last_recommend_video_idx(self, province_code, record_key_prefix, pool_key_prefix, last_video_key_prefix):
|
|
|
|
|
|
|
|
|
|
|
|
record_key = f"{record_key_prefix}{self.app_type}.{self.mid}"
|
|
|
+ last_video_key = f'{last_video_key_prefix}{self.app_type}.{self.mid}'
|
|
|
+
|
|
|
|
|
|
if not self.redis_helper.key_exists(key_name=record_key):
|
|
|
|
|
@@ -1664,7 +1666,7 @@ class PoolRecall(object):
|
|
|
if record_dt == now_dt and int(record_h) == h:
|
|
|
|
|
|
pool_recall_key = f"{pool_key_prefix}{province_code}.{self.app_type}.{self.data_key}.{self.rule_key}.{now_dt}.{h}"
|
|
|
- idx = self.get_video_idx(pool_recall_key=pool_recall_key)
|
|
|
+ idx = self.get_video_idx(pool_recall_key=pool_recall_key, last_video_key=last_video_key)
|
|
|
elif (record_dt == now_dt and h-int(record_h) == 1) or (h == 0 and int(record_h) == 23):
|
|
|
|
|
|
now_pool_recall_key = f"{pool_key_prefix}{province_code}.{self.app_type}.{self.data_key}.{self.rule_key}.{now_dt}.{h}"
|
|
@@ -1675,7 +1677,7 @@ class PoolRecall(object):
|
|
|
pool_recall_key = now_pool_recall_key
|
|
|
else:
|
|
|
pool_recall_key = f"{pool_key_prefix}{province_code}.{self.app_type}.{self.data_key}.{self.rule_key}.{record_dt}.{record_h}"
|
|
|
- idx = self.get_video_idx(pool_recall_key=pool_recall_key)
|
|
|
+ idx = self.get_video_idx(pool_recall_key=pool_recall_key, last_video_key=last_video_key)
|
|
|
else:
|
|
|
idx = 0
|
|
|
pool_recall_key = self.update_last_video_record(record_key=record_key, pool_key_prefix=pool_key_prefix,
|
|
@@ -1712,7 +1714,8 @@ class PoolRecall(object):
|
|
|
|
|
|
pool_key, idx = self.get_last_recommend_video_idx(province_code=province_code,
|
|
|
record_key_prefix=record_key_prefix,
|
|
|
- pool_key_prefix=pool_key_prefix)
|
|
|
+ pool_key_prefix=pool_key_prefix,
|
|
|
+ last_video_key_prefix=last_video_key_prefix)
|
|
|
if not pool_key:
|
|
|
return []
|
|
|
pool_recall_result = []
|