"""定时任务模块""" import logging from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.triggers.cron import CronTrigger logger = logging.getLogger(__name__) scheduler = BackgroundScheduler() def init_scheduled_tasks(get_db_session): """初始化定时任务。""" if scheduler.running: return scheduler.start() from app.services.basic_experiment_delivery_remind import run_delivery_remind_job scheduler.add_job( run_delivery_remind_job, trigger=CronTrigger(hour=10, minute=0), args=[get_db_session], id="basic_experiment_delivery_remind", replace_existing=True, max_instances=1, coalesce=True, ) logger.info( "定时任务调度器已启动:basic_experiment_delivery_remind @ 10:00 daily" ) def shutdown_scheduler(): if scheduler.running: scheduler.shutdown(wait=False) logger.info("定时任务调度器已关闭") __all__ = [ "scheduler", "init_scheduled_tasks", "shutdown_scheduler", ]