liqian 2 vuotta sitten
vanhempi
commit
f2d4971f3e
3 muutettua tiedostoa jossa 23 lisäystä ja 16 poistoa
  1. 6 3
      ad_users_data_update.py
  2. 6 3
      ad_video_data_update.py
  3. 11 10
      config.py

+ 6 - 3
ad_users_data_update.py

@@ -34,7 +34,7 @@ def predict_user_group_share_rate(project, table, dt, app_type):
         user_group_df['sharerate_ad'] * float(ad_all_group_share_rate) / user_group_df['sharerate_all']
     user_group_df['group_ad_share_rate'].fillna(0, inplace=True)
     # 结果写入redis
-    key_name = f"{config_.KEY_NAME_PREFIX_AD_GROUP}{dt}"
+    key_name = f"{config_.KEY_NAME_PREFIX_AD_GROUP}{app_type}:{dt}"
     redis_data = {}
     for index, item in user_group_df.iterrows():
         redis_data[item['group']] = item['group_ad_share_rate']
@@ -48,7 +48,8 @@ def predict_user_group_share_rate(project, table, dt, app_type):
 
 def timer_check():
     try:
-        app_type = config_.APP_TYPE['VLOG']
+        # app_type = config_.APP_TYPE['VLOG']
+        app_type_list = config_.AD_APP_TYPE_LIST
         project = config_.ad_model_data['users_share_rate'].get('project')
         table = config_.ad_model_data['users_share_rate'].get('table')
         now_date = datetime.datetime.today()
@@ -60,7 +61,9 @@ def timer_check():
         if data_count > 0:
             log_.info(f"ad user group data count = {data_count}")
             # 数据准备好,进行更新
-            predict_user_group_share_rate(project=project, table=table, dt=dt, app_type=app_type)
+            for app_type in app_type_list:
+                predict_user_group_share_rate(project=project, table=table, dt=dt, app_type=app_type)
+                log_.info(f"app_type = {app_type} ad user group data update end!")
             log_.info(f"ad user group data update end!")
         elif now_min > 45:
             log_.info('ad user group data is None!')

+ 6 - 3
ad_video_data_update.py

@@ -35,7 +35,7 @@ def predict_video_share_rate(project, table, dt, app_type):
     video_df['video_ad_share_rate'].fillna(0, inplace=True)
     video_df = video_df[video_df['video_ad_share_rate'] != 0]
     # 结果写入redis
-    key_name = f"{config_.KEY_NAME_PREFIX_AD_VIDEO}{dt}"
+    key_name = f"{config_.KEY_NAME_PREFIX_AD_VIDEO}{app_type}:{dt}"
     redis_data = {}
     for index, item in video_df.iterrows():
         redis_data[int(item['videoid'])] = item['video_ad_share_rate']
@@ -49,7 +49,8 @@ def predict_video_share_rate(project, table, dt, app_type):
 
 def timer_check():
     try:
-        app_type = config_.APP_TYPE['VLOG']
+        # app_type = config_.APP_TYPE['VLOG']
+        app_type_list = config_.AD_APP_TYPE_LIST
         project = config_.ad_model_data['videos_share_rate'].get('project')
         table = config_.ad_model_data['videos_share_rate'].get('table')
         now_date = datetime.datetime.today()
@@ -61,7 +62,9 @@ def timer_check():
         if data_count > 0:
             log_.info(f"ad video data count = {data_count}")
             # 数据准备好,进行更新
-            predict_video_share_rate(project=project, table=table, dt=dt, app_type=app_type)
+            for app_type in app_type_list:
+                predict_video_share_rate(project=project, table=table, dt=dt, app_type=app_type)
+                log_.info(f"app_type = {app_type} ad video data update end!")
             log_.info(f"ad video data update end!")
         elif now_min > 45:
             log_.info('ad video data is None!')

+ 11 - 10
config.py

@@ -596,9 +596,15 @@ class BaseConfig(object):
             'table': 'video_sharerate_admodel'
         },
     }
-    # 用户组有广告时的分享率预测结果存放 redis key 前缀,完整格式:ad:users:group:predict:share:rate:{date}
+    # 调用广告模型appType列表
+    AD_APP_TYPE_LIST = [
+        APP_TYPE['VLOG'],
+        APP_TYPE['PIAO_QUAN_VIDEO_PLUS'],
+    ]
+
+    # 用户组有广告时的分享率预测结果存放 redis key 前缀,完整格式:ad:users:group:predict:share:rate:{appType}:{date}
     KEY_NAME_PREFIX_AD_GROUP = 'ad:users:group:predict:share:rate:'
-    # 视频有广告时的分享率预测结果存放 redis key 前缀,完整格式:ad:video:predict:share:rate:{date}
+    # 视频有广告时的分享率预测结果存放 redis key 前缀,完整格式:ad:video:predict:share:rate:{appType}:{date}
     KEY_NAME_PREFIX_AD_VIDEO = 'ad:video:predict:share:rate:'
     # 用户分组结果存放 redis key 前缀,完整格式:mid:group:{mid}
     KEY_NAME_PREFIX_MID_GROUP = 'mid:group:'
@@ -614,13 +620,8 @@ class DevelopmentConfig(BaseConfig):
     PROJECT_PATH = '/data2/rov-offline'
 
     # 测试环境redis地址
-    # REDIS_INFO = {
-    #     'host': 'r-bp1ps6my7lzg8rdhwx682.redis.rds.aliyuncs.com',
-    #     'port': 6379,
-    #     'password': 'Wqsd@2019',
-    # }
     REDIS_INFO = {
-        'host': 'r-bp16jexstuzih671tz.redis.rds.aliyuncs.com',
+        'host': 'r-bp1ps6my7lzg8rdhwx682.redis.rds.aliyuncs.com',
         'port': 6379,
         'password': 'Wqsd@2019',
     }
@@ -933,8 +934,8 @@ class ProductionConfig(BaseConfig):
 
 def set_config():
     # 获取环境变量 ROV_OFFLINE_ENV
-    env = os.environ.get('ROV_OFFLINE_ENV')
-    # env = 'dev'
+    # env = os.environ.get('ROV_OFFLINE_ENV')
+    env = 'dev'
     if env is None:
         # log_.error('ENV ERROR: is None!')
         return