查询ios的固件,提示降级
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

66 lines
2.0 KiB

"""统一任务执行入口"""
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()