我一直在尝试执行计划的任务(每24小时一次),该任务基本上扫描数据库并发送一些电子邮件。该应用程序基于Flask,由gunicorn与工人“ gevent”一起提供,并使用“ run:app --preload”进行初始化。 在run.py中,我启动调度程序:
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
from random import randint
scheduler = BackgroundScheduler(jobstores={'default': SQLAlchemyJobStore(url='sqlite:///jobs.sqlite')})
scheduler.add_job(inject_task, 'interval', hours=24, id=str(randint(0, 100)))
scheduler.start()
我需要“ inject_task”代码仅执行一次(每24小时一次)。它不遵守24小时的间隔,但更重要的是,每个工作人员都运行“ inject_task”。