| 
					
				 | 
			
			
				@@ -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): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # 判断mid对应上一次视频位置 时间记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # record_key = f"{config_.RECORD_KEY_NAME_PREFIX_LAST_VIDEO_REGION_DUP3_24H}{self.app_type}.{self.mid}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # pool_key_prefix = config_.RECALL_KEY_NAME_PREFIX_DUP3_REGION_24H_H 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # ###### 记录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): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # 记录的h - 当前h = 1,判断当前h数据是否已更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 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): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # 获取相关redis key, 用户上一次在rov召回池对应的位置 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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 = [] 
			 |