liqian преди 1 година
родител
ревизия
88ed5f22f5
променени са 1 файла, в които са добавени 15 реда и са изтрити 8 реда
  1. 15 8
      ad_arpu_update.py

+ 15 - 8
ad_arpu_update.py

@@ -1,5 +1,6 @@
 import datetime
 import json
+import time
 import traceback
 from threading import Timer
 from utils import RedisHelper, data_check, get_feature_data, send_msg_to_feishu
@@ -63,26 +64,25 @@ def update_ad_arpu(project, table, dt):
         log_.info(f"update arpu finished!")
 
 
-def timer_check():
+def timer_check(dt):
     try:
         project = 'loghubods'
-        table = 'dau_ad_view_hour'
-        now_date = datetime.datetime.today()
+        # table = 'dau_ad_view_hour'
+        table = 'dau_ad_view_per_5min'
         now_min = datetime.datetime.now().minute
-        dt = datetime.datetime.strftime(now_date - datetime.timedelta(hours=1), '%Y%m%d%H')
-        log_.info(f"now_date: {dt}")
+        log_.info(f"now_min: {now_min}")
         # 查看当前更新的数据是否已准备好
         data_count = data_check(project=project, table=table, dt=dt)
         if data_count > 0:
             # 数据准备好,进行更新
             update_ad_arpu(project=project, table=table, dt=dt)
             log_.info(f"ad arpu update end!")
-        elif now_min > 30:
+        elif now_min % 5 > 1:
             log_.info('数据未准备好!')
             return
         else:
             # 数据没准备好,1分钟后重新检查
-            Timer(60, timer_check).start()
+            Timer(60, timer_check, (dt,)).start()
 
     except Exception as e:
         log_.error(f"新策略 -- arpu值更新失败, exception: {e}, traceback: {traceback.format_exc()}")
@@ -96,4 +96,11 @@ def timer_check():
 
 
 if __name__ == '__main__':
-    timer_check()
+    now_date = datetime.datetime.today()
+    # dt_min = datetime.datetime.now().minute
+    # log_.info(f"dt_min: {dt_min}")
+    dt = datetime.datetime.strftime(now_date - datetime.timedelta(minutes=5), '%Y%m%d%H%M')
+    dt = f"{dt}00"
+    log_.info(f"now_date: {dt}")
+    timer_check(dt=dt)
+