[英]Celerybeat not executing periodic tasks
你如何诊断为什么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 只会安排任务,不会执行它。 要执行任务,您还需要启动工作程序。 你可以一起开始 celery beat 和 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
我们最近从celery 4升级到celery 5 。
显然-l
标志已被删除,或重新命名?
在 celery4 中有效,但在celery 5 中无效:
celery -A pm -l info beat
删除-l
:
celery -A pm beat
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.