单身工人的调度员和枪手

时间:2018-07-18 09:14:01

标签: flask gunicorn apscheduler

我一直在尝试执行计划的任务(每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”。

0 个答案:

没有答案