我想在芹菜中使用运行时定义的计划创建周期性任务。
如果您的项目是基于Django的,您可以使用djcelery
' DatabaseScheduler
类来动态创建定期任务。你会像这样运行你的celerybeat ......
celery -A proj beat -S djcelery.schedulers.DatabaseScheduler
然而djcelery.schedulers.DatabaseScheduler
与Django紧密耦合。
是否存在更通用的数据库计划程序?更好的是,是否存在一个用于Pyramids + SQLAlchemy的数据库调度程序,这是我的项目所基于的?
答案 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