|
@@ -57,33 +57,38 @@ def update_videos_data(project, table, dt, update_params):
|
|
|
log_.info(f"data_key = {data_key} update end!")
|
|
|
|
|
|
|
|
|
-def timer_check():
|
|
|
+def timer_check(dt, video_key, video_params):
|
|
|
+ log_.info(f"video_key = {video_key}")
|
|
|
+ project = config_.ad_model_data[video_key].get('project')
|
|
|
+ table = config_.ad_model_data[video_key].get('table')
|
|
|
+ # 查看当前更新的数据是否已准备好
|
|
|
+ data_count = data_check(project=project, table=table, dt=dt)
|
|
|
+ if data_count > 0:
|
|
|
+ log_.info(f"ad video data count = {data_count}")
|
|
|
+ # 数据准备好,进行更新
|
|
|
+ update_videos_data(project=project, table=table, dt=dt, update_params=video_params)
|
|
|
+ log_.info(f"ad video data update end!")
|
|
|
+ send_msg_to_feishu(
|
|
|
+ webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'),
|
|
|
+ key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'),
|
|
|
+ msg_text=f"rov-offline{config_.ENV_TEXT} - 视频数据更新完成\n"
|
|
|
+ f"video_key: {video_key}\n"
|
|
|
+ f"now_date: {dt}\n"
|
|
|
+ f"finished time: {datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d %H:%M:%S')}"
|
|
|
+ )
|
|
|
+ else:
|
|
|
+ # 数据没准备好,1分钟后重新检查
|
|
|
+ Timer(60, timer_check, args=[dt, video_key, video_params]).start()
|
|
|
+
|
|
|
+
|
|
|
+def main():
|
|
|
try:
|
|
|
- update_params = config_.AD_VIDEO_DATA_PARAMS
|
|
|
- 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()
|
|
|
dt = datetime.datetime.strftime(now_date, '%Y%m%d')
|
|
|
log_.info(f"now_date: {dt}")
|
|
|
- now_min = datetime.datetime.now().minute
|
|
|
- # 查看当前更新的数据是否已准备好
|
|
|
- data_count = data_check(project=project, table=table, dt=dt)
|
|
|
- if data_count > 0:
|
|
|
- log_.info(f"ad video data count = {data_count}")
|
|
|
- # 数据准备好,进行更新
|
|
|
- update_videos_data(project=project, table=table, dt=dt, update_params=update_params)
|
|
|
- log_.info(f"ad video data update end!")
|
|
|
- # elif now_min > 45:
|
|
|
- # log_.info('ad video data is None!')
|
|
|
- # send_msg_to_feishu(
|
|
|
- # webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'),
|
|
|
- # key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'),
|
|
|
- # msg_text=f"rov-offline{config_.ENV_TEXT} - 视频分享率数据未准备好!\n"
|
|
|
- # f"traceback: {traceback.format_exc()}"
|
|
|
- # )
|
|
|
- else:
|
|
|
- # 数据没准备好,1分钟后重新检查
|
|
|
- Timer(60, timer_check).start()
|
|
|
+ update_params = config_.AD_VIDEO_DATA_PARAMS
|
|
|
+ for video_key, video_params in update_params.items():
|
|
|
+ timer_check(dt, video_key, video_params)
|
|
|
|
|
|
except Exception as e:
|
|
|
log_.error(f"视频分享率预测数据更新失败, exception: {e}, traceback: {traceback.format_exc()}")
|
|
@@ -97,4 +102,5 @@ def timer_check():
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
- timer_check()
|
|
|
+ # timer_check()
|
|
|
+ main()
|