Selaa lähdekoodia

update videos_filter.py

liqian 1 vuosi sitten
vanhempi
commit
4732434268
1 muutettua tiedostoa jossa 17 lisäystä ja 2 poistoa
  1. 17 2
      videos_filter.py

+ 17 - 2
videos_filter.py

@@ -390,6 +390,13 @@ def filter_flow_pool_new_with_level_score():
     level_weight = redis_helper.get_data_from_redis(key_name=config_.FLOWPOOL_LEVEL_WEIGHT_KEY_NAME)
     level_list = [level for level in json.loads(level_weight)]
     log_.info(f"level_list: {level_list}")
+    flow_pool_abtest_config = redis_helper.get_data_from_redis(key_name=config_.FLOWPOOL_ABTEST_KEY_NAME)
+    if flow_pool_abtest_config is not None:
+        flow_pool_abtest_config = json.loads(flow_pool_abtest_config)
+    else:
+        flow_pool_abtest_config = {}
+    abtest_config_info = flow_pool_abtest_config.get('flow_set_level_score', {})
+    ab_key_list = [ab_key for ab_key, _ in abtest_config_info.items()]
     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))
@@ -407,6 +414,11 @@ def filter_flow_pool_new_with_level_score():
                         key_name = get_pool_redis_key(pool_type='flow_level_score', app_type=app_type,
                                                       flow_pool_id=flow_pool_id, level=level)
                         filter_flow_pool_level_score_process(app_type, flow_pool_id, key_name)
+                        for ab_key in ab_key_list:
+                            log_.info(f"ab_key: {ab_key}")
+                            key_name = get_pool_redis_key(pool_type='flow_level_score', app_type=app_type,
+                                                          flow_pool_id=flow_pool_id, level=level, ab_key=ab_key)
+                            filter_flow_pool_level_score_process(app_type, flow_pool_id, key_name)
                         log_.info(f"app_type = {app_type}, level = {level} videos filter end!")
             log_.info(f"app_type = {app_type} videos filter end!")
     log_.info("flow pool filter end!")
@@ -524,7 +536,7 @@ def filter_rov_updated_app():
     log_.info("update rov videos app filter end!")
 
 
-def get_pool_redis_key(pool_type, app_type=None, flow_pool_id=None, level=None):
+def get_pool_redis_key(pool_type, app_type=None, flow_pool_id=None, level=None, ab_key=None):
     """
     拼接key
     :param pool_type: type-string {'rov': rov召回池, 'flow': 流量池}
@@ -609,7 +621,10 @@ def get_pool_redis_key(pool_type, app_type=None, flow_pool_id=None, level=None):
         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_SET_LEVEL_SCORE}{app_type}:{level}"
+            if ab_key is None:
+                return f"{config_.FLOWPOOL_KEY_NAME_PREFIX_SET_LEVEL_SCORE}{app_type}:{level}"
+            else:
+                return f"{config_.FLOWPOOL_KEY_NAME_PREFIX_SET_LEVEL_SCORE}{ab_key}:{app_type}:{level}"
 
     else:
         log_.error('pool type error')