您所需要的只是在 celery conf 女巫任务中指定您想要定期运行以及以哪个间隔运行。
示例:每 30 秒运行一次 tasks.add 任务
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
"runs-every-30-seconds": {
"task": "tasks.add",
"schedule": timedelta(seconds=30),
"args": (16, 16)
},
}
请记住,您必须使用 -B 选项在节拍模式下运行 celery
manage celeryd -B
您还可以使用 crontab 样式而不是时间间隔,请查看:
http://ask.github.com/celery/userguide/periodic-tasks.html
如果您使用 django-celery,请记住您也可以使用 tha django db 作为定期任务的调度程序,这样您可以轻松地通过 django-celery 管理面板添加新的定期任务。为此,您需要以这种方式在 settings.py 中设置 celerybeat 调度程序
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"