17

您如何诊断为什么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 日志从不显示正在执行的任何内容。为什么会这样?

4

2 回答 2

24

celerybeat 只会安排任务,不会执行它。要执行任务,您还需要启动 worker。您可以一起开始芹菜节拍以及工人。我使用“芹菜-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

于 2013-08-13T13:16:12.380 回答
0

我们最近从celery 4升级到celery 5

显然该-l标志已被删除或重新命名?

适用于 celery4,但不适用于celery 5:

celery -A pm -l info beat

删除-l

celery -A pm beat
于 2021-05-13T22:33:45.613 回答