"""统一任务执行入口""" import os import time import sys from firmware_checker.tasks.firmware_task import check_versions as check_firmware_versions from firmware_checker.tasks.price_task import check_prices as check_7881_prices from firmware_checker.utils.logger import setup_logger logger = setup_logger() def run_task1(): """执行第一个任务:固件检查""" logger.info("开始执行任务1:固件版本检查") check_firmware_versions() logger.info("任务1执行完成\n") def run_task2(): """执行第二个任务:7881价格查询""" logger.info("开始执行任务2:7881价格查询") check_7881_prices() logger.info("任务2执行完成\n") def run_all_tasks(): """执行所有任务""" logger.info("开始执行任务序列") logger.info("=" * 50) # 执行任务1 run_task1() # 执行任务2 # run_task2() logger.info("=" * 50) logger.info("所有任务执行完成") def main(): """主函数,支持定时执行任务序列""" # 从环境变量读取执行间隔,默认30分钟 interval_env = os.environ.get('CHECK_INTERVAL_MINUTES') try: interval_minutes = int(interval_env) if interval_env else 30 except ValueError: logger.warning(f"检查间隔参数无效,使用默认值30分钟") interval_minutes = 30 interval_seconds = interval_minutes * 60 logger.info(f"任务执行服务启动,间隔: {interval_minutes}分钟,当前时间: {time.strftime('%Y-%m-%d %H:%M:%S')}") # 首次立即执行一次 run_all_tasks() # 然后定时执行 try: while True: logger.info(f"等待下次执行,{interval_minutes}分钟后...") time.sleep(interval_seconds) run_all_tasks() except KeyboardInterrupt: logger.info("服务已停止") except Exception as e: logger.error(f"服务运行出错: {e}") sys.exit(1) if __name__ == "__main__": main()