是否有针对Celery的基于SQLAlchemy的通用定期任务调度程序?

时间:2015-10-21 21:58:45

标签: python django sqlalchemy celery pyramid

我想在芹菜中使用运行时定义的计划创建周期性任务。

如果您的项目是基于Django的,您可以使用djcelery' DatabaseScheduler类来动态创建定期任务。你会像这样运行你的celerybeat ......

celery -A proj beat -S djcelery.schedulers.DatabaseScheduler

然而djcelery.schedulers.DatabaseScheduler与Django紧密耦合。

是否存在更通用的数据库计划程序?更好的是,是否存在一个用于Pyramids + SQLAlchemy的数据库调度程序,这是我的项目所基于的?

1 个答案:

答案 0 :(得分:0)

您可以使用cron来安排任务。以下是一些示例代码:

终端命令:

# open "crontab" in vim
env EDITOR=vi crontab -e

# will run every minute
* * * * * /path/to/task.py

# cron mail location
vi /var/mail/me

创建一个./manage.py自定义任务(将调用Celery),并安排它。

# cron w/ virtualenv
# . $HOME/.bash_profile; # necessary for cron to access ENV VARs
* * * * * . $HOME/.bash_profile; \
    cd /Users/aaron/Documents/djcode/my_project/project && \
    /Users/aaron/Documents/virtualenvs/django18_py2/bin/python \
    /Users/aaron/Documents/djcode/my_project/project/manage.py