| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- """定时任务模块"""
- 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",
- ]
|