Cer*_*rin 13 python django django-celery celerybeat
你如何诊断为什么manage.py celerybeat不执行任何任务?
我通过supervisord运行celerybeat命令:
/usr/local/myapp/src/manage.py celerybeat --schedule=/tmp/celerybeat-schedule-myapp --pidfile=/tmp/celerybeat-myapp.pid --loglevel=INFO
Run Code Online (Sandbox Code Playgroud)
Supervisord似乎运行celerybeat就好了,日志文件显示:
[2013-06-12 13:17:12,540: INFO/MainProcess] Celerybeat: Starting...
[2013-06-12 13:17:12,571: WARNING/MainProcess] Reset: Account for new __version__ field
[2013-06-12 13:17:12,571: WARNING/MainProcess] Reset: Account for new tz field
[2013-06-12 13:17:12,572: WARNING/MainProcess] Reset: Account for new utc_enabled field
Run Code Online (Sandbox Code Playgroud)
我有几个定期任务显示为启用http://localhost:8000/admin/djcelery/periodictask,应该每隔几分钟运行一次.但是,celerybeat日志从不显示正在执行的任何内容.为什么会这样?
YoK*_*YoK 20
celerybeat只是简单的任务,不会执行它.要执行任务,您还需要启动工作人员.你可以一起开始芹菜殴打和工作.我用"celeryd -B"
在你的情况下,它应该看起来像:
/usr/local/myapp/src/manage.py celery worker --beat --schedule =/tmp/celerybeat-schedule-myapp --pidfile =/tmp/celerybeat-myapp.pid --loglevel = INFO
要么
/usr/local/myapp/src/manage.py celeryd -B --schedule =/tmp/celerybeat-schedule-myapp --pidfile =/tmp/celerybeat-myapp.pid --loglevel = INFO