import datetime import sys import time import schedule from loguru import logger logger.add("/app/logs/select.log", rotation="10 MB") sys.path.append('/app') import os print("Current working directory:", os.getcwd()) from utils.odps_data import OdpsDataCount from utils.redis import RedisHelper def reset_videos_to_radies(day=3): """重置视频到Redis""" try: dt = (datetime.datetime.now() - datetime.timedelta(days=day)).strftime('%Y%m%d') logger.info(f"重置视频到Redis") redis_trigger_task = "task:video_trigger_insight" sql =f'select clickobjectid as video_id from loghubods.user_share_log where dt = {dt} and topic = "click" group by clickobjectid order by count(distinct machinecode) desc limit 1300' data = OdpsDataCount.main(sql) if not data: return RedisHelper().get_client().rpush(redis_trigger_task, *data) logger.info(f"[R] 写入Redis 成功 共写入 {len(data)} 条") except Exception as e: logger.error(f"[R] 写入Redis写入失败,失败信息{e}") if __name__ == "__main__": import sys day = 3 # 默认值 if len(sys.argv) > 1: try: day = int(sys.argv[1]) except Exception: pass reset_videos_to_radies(day)