b0212e4b31
由于任务2存在潜在问题需要修复,暂时注释掉其执行调用
66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
"""统一任务执行入口"""
|
||
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() |