Bläddra i källkod

add recall-update-h rule3

liqian 3 år sedan
förälder
incheckning
4581bd60d7
2 ändrade filer med 35 tillägg och 14 borttagningar
  1. 15 2
      config.py
  2. 20 12
      recommend.py

+ 15 - 2
config.py

@@ -21,7 +21,8 @@ class BaseConfig(object):
         'rec_size_home': '003',
         'rec_size_relevant': '004',
         'rule_rank1': '011',
-        'rule_rank2': '016'
+        'rule_rank2': '016',
+        'rule_rank3': '',
     }
 
     # abTest
@@ -37,7 +38,19 @@ class BaseConfig(object):
         'w_h_rate': 10001,  # 视频宽高比实验(每组的前两个视频调整为横屏视频),已下线
         'position_insert': 10002,  # 按位置插入
         'relevant_video_op': 10003,  # 运营对某些视频给定一些相关视频,调整为对应视频相关推荐的头部
-        'rank_by_h': [20001, 20002],  # 小时级别更新rov列表实验
+        'rank_by_h': {
+            'rule_rank1': 20001,
+            'rule_rank2': 20002,
+            'rule_rank3': 20003
+        },  # 小时级别更新rov列表实验
+    }
+
+    # 小程序小时级列表key不同实验标识
+    RULE_KEY = {
+        'initial': '',
+        'rule_rank1': 'rule1',
+        'rule_rank2': 'rule2',
+        'rule_rank3': 'rule2',
     }
 
     # pushFrom

+ 20 - 12
recommend.py

@@ -377,7 +377,7 @@ def video_homepage_recommend(mid, uid, size, app_type, algo_type, client_info, a
         if not ab_exp_info:
             ab_code = config_.AB_CODE['initial']
             expire_time = 24 * 3600
-            rule_key = ''
+            rule_key = config_.RULE_KEY['initial']
         else:
             ab_exp_code_list = []
             config_value_dict = {}
@@ -408,17 +408,21 @@ def video_homepage_recommend(mid, uid, size, app_type, algo_type, client_info, a
 
             # 小时级更新-规则1 实验
             if config_.AB_EXP_CODE['rule_rank1'] in ab_exp_code_list:
-                ab_code = config_.AB_CODE['rank_by_h'][0]
+                ab_code = config_.AB_CODE['rank_by_h'].get('rule_rank1')
                 expire_time = 3600
-                rule_key = 'rule1'
+                rule_key = config_.RULE_KEY['rule_rank1']
             elif config_.AB_EXP_CODE['rule_rank2'] in ab_exp_code_list:
-                ab_code = config_.AB_CODE['rank_by_h'][1]
+                ab_code = config_.AB_CODE['rank_by_h'].get('rule_rank2')
                 expire_time = 3600
-                rule_key = 'rule2'
+                rule_key = config_.RULE_KEY['rule_rank2']
+            elif config_.AB_EXP_CODE['rule_rank3'] in ab_exp_code_list:
+                ab_code = config_.AB_CODE['rank_by_h'].get('rule_rank3')
+                expire_time = 3600
+                rule_key = config_.RULE_KEY['rule_rank3']
             else:
                 ab_code = config_.AB_CODE['initial']
                 expire_time = 24 * 3600
-                rule_key = ''
+                rule_key = config_.RULE_KEY['initial']
 
         # 简单召回 - 排序 - 兜底
         rank_result, last_rov_recall_key = video_recommend(mid=mid, uid=uid, app_type=app_type,
@@ -455,7 +459,7 @@ def video_relevant_recommend(video_id, mid, uid, size, app_type, ab_exp_info):
     if not ab_exp_info:
         ab_code = config_.AB_CODE['initial']
         expire_time = 24 * 3600
-        rule_key = ''
+        rule_key = config_.RULE_KEY['initial']
     else:
         ab_exp_code_list = []
         config_value_dict = {}
@@ -487,17 +491,21 @@ def video_relevant_recommend(video_id, mid, uid, size, app_type, ab_exp_info):
 
         # 小时级更新-规则1 实验
         if config_.AB_EXP_CODE['rule_rank1'] in ab_exp_code_list:
-            ab_code = config_.AB_CODE['rank_by_h'][0]
+            ab_code = config_.AB_CODE['rank_by_h'].get('rule_rank1')
             expire_time = 3600
-            rule_key = 'rule1'
+            rule_key = config_.RULE_KEY['rule_rank1']
         elif config_.AB_EXP_CODE['rule_rank2'] in ab_exp_code_list:
-            ab_code = config_.AB_CODE['rank_by_h'][1]
+            ab_code = config_.AB_CODE['rank_by_h'].get('rule_rank2')
+            expire_time = 3600
+            rule_key = config_.RULE_KEY['rule_rank2']
+        elif config_.AB_EXP_CODE['rule_rank3'] in ab_exp_code_list:
+            ab_code = config_.AB_CODE['rank_by_h'].get('rule_rank3')
             expire_time = 3600
-            rule_key = 'rule2'
+            rule_key = config_.RULE_KEY['rule_rank3']
         else:
             ab_code = config_.AB_CODE['initial']
             expire_time = 24 * 3600
-            rule_key = ''
+            rule_key = config_.RULE_KEY['initial']
 
     # 简单召回 - 排序 - 兜底
     rank_result, last_rov_recall_key = video_recommend(mid=mid, uid=uid, app_type=app_type,