|  | @@ -156,48 +156,53 @@ def filter_flow_pool():
 | 
	
		
			
				|  |  |          if app_type in app_type_list:
 | 
	
		
			
				|  |  |              filter_flow_pool_18_19(app_type=app_type)
 | 
	
		
			
				|  |  |          else:
 | 
	
		
			
				|  |  | -            # 拼接redis-key
 | 
	
		
			
				|  |  | -            key_name = get_pool_redis_key(pool_type='flow', app_type=app_type)
 | 
	
		
			
				|  |  | -            # 获取视频
 | 
	
		
			
				|  |  | -            redis_helper = RedisHelper()
 | 
	
		
			
				|  |  | -            data = redis_helper.get_all_data_from_zset(key_name=key_name)
 | 
	
		
			
				|  |  | -            if data is None:
 | 
	
		
			
				|  |  | -                log_.info("data is None")
 | 
	
		
			
				|  |  | -                log_.info("app_type {} videos filter end!".format(app_type))
 | 
	
		
			
				|  |  | -                continue
 | 
	
		
			
				|  |  | -            # videoId与flowPool做mapping
 | 
	
		
			
				|  |  | -            video_ids = []
 | 
	
		
			
				|  |  | -            mapping = {}
 | 
	
		
			
				|  |  | -            for video in data:
 | 
	
		
			
				|  |  | -                video_id, flow_pool = video.split('-')
 | 
	
		
			
				|  |  | -                video_id = int(video_id)
 | 
	
		
			
				|  |  | -                if video_id not in video_ids:
 | 
	
		
			
				|  |  | -                    video_ids.append(video_id)
 | 
	
		
			
				|  |  | -                    mapping[video_id] = [flow_pool]
 | 
	
		
			
				|  |  | +            for flow_pool_id in [None, config_.QUICK_FLOW_POOL_ID]:
 | 
	
		
			
				|  |  | +                log_.info(f"flow_pool_id = {flow_pool_id}")
 | 
	
		
			
				|  |  | +                # 拼接redis-key
 | 
	
		
			
				|  |  | +                key_name = get_pool_redis_key(pool_type='flow', app_type=app_type, flow_pool_id=flow_pool_id)
 | 
	
		
			
				|  |  | +                # 获取视频
 | 
	
		
			
				|  |  | +                redis_helper = RedisHelper()
 | 
	
		
			
				|  |  | +                data = redis_helper.get_all_data_from_zset(key_name=key_name)
 | 
	
		
			
				|  |  | +                if data is None:
 | 
	
		
			
				|  |  | +                    log_.info(f"flow_pool_id = {flow_pool_id}, data is None")
 | 
	
		
			
				|  |  | +                    log_.info(f"app_type = {app_type}, flow_pool_id = {flow_pool_id}, videos filter end!")
 | 
	
		
			
				|  |  | +                    continue
 | 
	
		
			
				|  |  | +                # videoId与flowPool做mapping
 | 
	
		
			
				|  |  | +                video_ids = []
 | 
	
		
			
				|  |  | +                mapping = {}
 | 
	
		
			
				|  |  | +                for video in data:
 | 
	
		
			
				|  |  | +                    video_id, flow_pool = video.split('-')
 | 
	
		
			
				|  |  | +                    video_id = int(video_id)
 | 
	
		
			
				|  |  | +                    if video_id not in video_ids:
 | 
	
		
			
				|  |  | +                        video_ids.append(video_id)
 | 
	
		
			
				|  |  | +                        mapping[video_id] = [flow_pool]
 | 
	
		
			
				|  |  | +                    else:
 | 
	
		
			
				|  |  | +                        mapping[video_id].append(flow_pool)
 | 
	
		
			
				|  |  | +                # 过滤
 | 
	
		
			
				|  |  | +                if len(video_ids) == 0:
 | 
	
		
			
				|  |  | +                    log_.info(f"data size = {len(data)}, video_ids size = {len(video_ids)}, data = {data}")
 | 
	
		
			
				|  |  | +                    log_.info(f"app_type = {app_type}, flow_pool_id = {flow_pool_id}, videos filter end!")
 | 
	
		
			
				|  |  | +                    continue
 | 
	
		
			
				|  |  | +                if app_type == config_.APP_TYPE['APP']:
 | 
	
		
			
				|  |  | +                    filtered_result = filter_video_status_app(video_ids=video_ids)
 | 
	
		
			
				|  |  |                  else:
 | 
	
		
			
				|  |  | -                    mapping[video_id].append(flow_pool)
 | 
	
		
			
				|  |  | -            # 过滤
 | 
	
		
			
				|  |  | -            if len(video_ids) == 0:
 | 
	
		
			
				|  |  | -                log_.info("data size = {}, video_ids size = {}, data = {}".format(len(data), len(video_ids), data))
 | 
	
		
			
				|  |  | -                log_.info("app_type {} videos filter end!".format(app_type))
 | 
	
		
			
				|  |  | -                continue
 | 
	
		
			
				|  |  | -            if app_type == config_.APP_TYPE['APP']:
 | 
	
		
			
				|  |  | -                filtered_result = filter_video_status_app(video_ids=video_ids)
 | 
	
		
			
				|  |  | -            else:
 | 
	
		
			
				|  |  | -                filtered_result = filter_video_status(video_ids=video_ids)
 | 
	
		
			
				|  |  | -            # 求差集,获取需要过滤掉的视频,并从redis中移除
 | 
	
		
			
				|  |  | -            filter_videos = set(video_ids) - set(filtered_result)
 | 
	
		
			
				|  |  | -            log_.info("data size = {}, video_ids size = {}, filtered size = {}, filter sizer = {}".format(
 | 
	
		
			
				|  |  | -                len(data), len(video_ids), len(filtered_result), len(filter_videos)))
 | 
	
		
			
				|  |  | -            # 移除
 | 
	
		
			
				|  |  | -            if len(filter_videos) == 0:
 | 
	
		
			
				|  |  | -                log_.info("app_type {} videos filter end!".format(app_type))
 | 
	
		
			
				|  |  | -                continue
 | 
	
		
			
				|  |  | -            remove_videos = ['{}-{}'.format(video_id, flow_pool)
 | 
	
		
			
				|  |  | -                             for video_id in filter_videos
 | 
	
		
			
				|  |  | -                             for flow_pool in mapping[video_id]]
 | 
	
		
			
				|  |  | -            redis_helper.remove_value_from_zset(key_name=key_name, value=remove_videos)
 | 
	
		
			
				|  |  | -            log_.info("app_type {} videos filter end!".format(app_type))
 | 
	
		
			
				|  |  | +                    filtered_result = filter_video_status(video_ids=video_ids)
 | 
	
		
			
				|  |  | +                # 求差集,获取需要过滤掉的视频,并从redis中移除
 | 
	
		
			
				|  |  | +                filter_videos = set(video_ids) - set(filtered_result)
 | 
	
		
			
				|  |  | +                log_.info("data size = {}, video_ids size = {}, filtered size = {}, filter sizer = {}".format(
 | 
	
		
			
				|  |  | +                    len(data), len(video_ids), len(filtered_result), len(filter_videos)))
 | 
	
		
			
				|  |  | +                # 移除
 | 
	
		
			
				|  |  | +                if len(filter_videos) == 0:
 | 
	
		
			
				|  |  | +                    log_.info(f"app_type = {app_type}, flow_pool_id = {flow_pool_id} videos filter end!")
 | 
	
		
			
				|  |  | +                    continue
 | 
	
		
			
				|  |  | +                remove_videos = ['{}-{}'.format(video_id, flow_pool)
 | 
	
		
			
				|  |  | +                                 for video_id in filter_videos
 | 
	
		
			
				|  |  | +                                 for flow_pool in mapping[video_id]]
 | 
	
		
			
				|  |  | +                redis_helper.remove_value_from_zset(key_name=key_name, value=remove_videos)
 | 
	
		
			
				|  |  | +                log_.info(f"app_type = {app_type}, flow_pool_id = {flow_pool_id} videos filter end!")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            log_.info(f"app_type = {app_type} videos filter end!")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      log_.info("flow pool filter end!")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -313,11 +318,12 @@ def filter_rov_updated_app():
 | 
	
		
			
				|  |  |      log_.info("update rov videos app filter end!")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -def get_pool_redis_key(pool_type, app_type=None):
 | 
	
		
			
				|  |  | +def get_pool_redis_key(pool_type, app_type=None, flow_pool_id=None):
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      拼接key
 | 
	
		
			
				|  |  |      :param pool_type: type-string {'rov': rov召回池, 'flow': 流量池}
 | 
	
		
			
				|  |  |      :param app_type: 产品标识
 | 
	
		
			
				|  |  | +    :param flow_pool_id: 流量池ID
 | 
	
		
			
				|  |  |      :return: key_name
 | 
	
		
			
				|  |  |      """
 | 
	
		
			
				|  |  |      redis_helper = RedisHelper()
 | 
	
	
		
			
				|  | @@ -380,7 +386,10 @@ def get_pool_redis_key(pool_type, app_type=None):
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      elif pool_type == 'flow':
 | 
	
		
			
				|  |  |          # 流量池
 | 
	
		
			
				|  |  | -        return config_.FLOWPOOL_KEY_NAME_PREFIX + str(app_type)
 | 
	
		
			
				|  |  | +        if flow_pool_id == config_.QUICK_FLOW_POOL_ID:
 | 
	
		
			
				|  |  | +            return f"{config_.QUICK_FLOWPOOL_KEY_NAME_PREFIX}{app_type}.{flow_pool_id}"
 | 
	
		
			
				|  |  | +        else:
 | 
	
		
			
				|  |  | +            return f"{config_.FLOWPOOL_KEY_NAME_PREFIX}{app_type}"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      else:
 | 
	
		
			
				|  |  |          log_.error('pool type error')
 |