liqian 3 년 전
부모
커밋
227cdbacf2
3개의 변경된 파일19개의 추가작업 그리고 9개의 파일을 삭제
  1. 4 4
      config.py
  2. 8 5
      region_rule_rank_h.py
  3. 7 0
      region_rule_rank_h_task.sh

+ 4 - 4
config.py

@@ -105,8 +105,8 @@ class BaseConfig(object):
     }
 
     # 地域分组小时级规则更新使用数据
-    PROJECT_REGION = ''
-    TABLE_REGION = ''
+    PROJECT_REGION = 'loghubods'
+    TABLE_REGION = 'video_each_hour_update_province'
 
     # 地域分组小时级规则参数
     RULE_PARAMS_REGION = {
@@ -451,8 +451,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

+ 8 - 5
region_rule_rank_h.py

@@ -54,16 +54,17 @@ region_code = {
 }
 
 features = [
+    'code',
     'videoid',
     'lastonehour_preview',  # 过去1小时预曝光人数
     'lastonehour_view',  # 过去1小时曝光人数
     'lastonehour_play',  # 过去1小时播放人数
     'lastonehour_share',  # 过去1小时分享人数
     'lastonehour_return',  # 过去1小时分享,过去1小时回流人数
-    'lastonehour_preview_total_final',  # 过去1小时预曝光次数
-    'lastonehour_view_total_final',  # 过去1小时曝光次数
-    'lastonehour_play_total_final',  # 过去1小时播放次数
-    'lastonehour_share_total_final',  # 过去1小时分享次数
+    'lastonehour_preview_total',  # 过去1小时预曝光次数
+    'lastonehour_view_total',  # 过去1小时曝光次数
+    'lastonehour_play_total',  # 过去1小时播放次数
+    'lastonehour_share_total',  # 过去1小时分享次数
 ]
 
 
@@ -170,6 +171,7 @@ def video_rank(df, now_date, now_h, rule_key, param, region):
     h_recall_df = df[(df['lastonehour_return'] >= return_count) & (df['score'] >= score_value)]
     h_recall_videos = h_recall_df['videoid'].to_list()
     log_.info(f'h_recall videos count = {len(h_recall_videos)}')
+
     # 写入对应的redis
     h_video_ids =[]
     h_recall_result = {}
@@ -207,7 +209,8 @@ def rank_by_h(project, table, now_date, now_h, rule_params, region_code_list):
         for region in region_code_list:
             log_.info(f"region = {region}")
             # 计算score
-            score_df = cal_score(df=feature_df)
+            region_df = feature_df[feature_df['code'] == region]
+            score_df = cal_score(df=region_df)
             video_rank(df=score_df, now_date=now_date, now_h=now_h, rule_key=key, param=value, region=region)
             # to-csv
             score_filename = f"score_{region}_{key}_{datetime.datetime.strftime(now_date, '%Y%m%d%H')}.csv"

+ 7 - 0
region_rule_rank_h_task.sh

@@ -0,0 +1,7 @@
+source /etc/profile
+echo $ROV_OFFLINE_ENV
+if [[ $ROV_OFFLINE_ENV == 'test' ]]; then
+    cd /data2/rov-offline && /root/anaconda3/bin/python /data2/rov-offline/region_rule_rank_h.py
+elif [[ $ROV_OFFLINE_ENV == 'pro' ]]; then
+    cd /data/rov-offline && /root/anaconda3/bin/python /data/rov-offline/region_rule_rank_h.py
+fi