您如何诊断为什么 manage.py celerybeat
不执行任何任务?
我正在通过 supervisord 使用以下命令运行 celerybeat:
/usr/local/myapp/src/manage.py celerybeat --schedule=/tmp/celerybeat-schedule-myapp --pidfile=/tmp/celerybeat-myapp.pid --loglevel=INFO
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
我有几个周期性任务在 http://localhost:8000/admin/djcelery/periodictask
上显示为已启用,应该每隔几分钟运行一次。但是,celerybeat 日志从不显示正在执行的任何内容。为什么会这样?
最佳答案
celerybeat 只会安排任务,不会执行它。 要执行任务,您还需要启动 worker。你可以一起开始 celery beat 和 worker 。 我使用“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
关于python - Celerybeat 不执行周期性任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17071632/