""" 定时任务调度模块 提供定时任务的调度和管理功能 """ from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.triggers.cron import CronTrigger from utils.logger import logger from utils.file_utils import clean_old_files def init_scheduler(output_folder): """ 初始化调度器,添加定时清理任务 参数: output_folder: 输出文件根目录 返回: scheduler: 已启动的调度器对象 """ logger.info("初始化定时任务调度器") scheduler = BackgroundScheduler() # 每天凌晨2点执行清理任务 scheduler.add_job( lambda: clean_old_files(output_folder), trigger=CronTrigger(hour=2, minute=0), id='clean_old_files_job', name='清理前一天的输出文件', replace_existing=True ) scheduler.start() logger.info("定时清理任务已启动,将在每天凌晨2:00执行") # 添加关闭时的清理 import atexit def shutdown_handler(): scheduler.shutdown() logger.info("应用程序关闭,调度器已停止") atexit.register(shutdown_handler) return scheduler