liqian 3 年之前
父节点
当前提交
cc07f21d9d
共有 1 个文件被更改,包括 75 次插入39 次删除
  1. 75 39
      videos_filter.py

+ 75 - 39
videos_filter.py

@@ -145,50 +145,86 @@ def filter_rov_pool(app_type=None):
 def filter_flow_pool():
     """流量池视频过滤"""
     log_.info("flow pool filter start ...")
+    app_type_list = [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]
     for _, app_type in config_.APP_TYPE.items():
         log_.info('app_type {} videos filter start...'.format(app_type))
-        # 拼接redis-key
-        key_name = get_pool_redis_key(pool_type='flow', app_type=app_type)
-        # 获取视频
-        redis_helper = RedisHelper()
-        data = redis_helper.get_data_zset_with_index(key_name=key_name, start=0, end=-1)
-        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]
-            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)
+        if app_type in app_type_list:
+            filter_flow_pool_18_19(app_type=app_type)
         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:
+            # 拼接redis-key
+            key_name = get_pool_redis_key(pool_type='flow', app_type=app_type)
+            # 获取视频
+            redis_helper = RedisHelper()
+            data = redis_helper.get_data_zset_with_index(key_name=key_name, start=0, end=-1)
+            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]
+                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))
-            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("flow pool filter end!")
+
+
+def filter_flow_pool_18_19(app_type):
+    """流量池视频过滤"""
+    log_.info('app_type {} videos filter start...'.format(app_type))
+    # 拼接redis-key
+    key_name = get_pool_redis_key(pool_type='flow', app_type=app_type)
+    # 获取视频
+    redis_helper = RedisHelper()
+    data = redis_helper.get_data_zset_with_index(key_name=key_name, start=0, end=-1)
+    if data is None:
+        log_.info("data is None")
         log_.info("app_type {} videos filter end!".format(app_type))
+        return
+    video_ids = [int(video_id) for video_id in data]
+    # 过滤
+    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))
+        return
+    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))
+        return
+    redis_helper.remove_value_from_zset(key_name=key_name, value=filter_videos)
+    log_.info("app_type {} videos filter end!".format(app_type))
     log_.info("flow pool filter end!")