python - Celerybeat 不执行周期性任务

标签 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

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/

相关文章:

python - django 验证器和 clean_field 方法之间的区别

jquery - 如何在django中使用ajax,传递模型对象并将其存储在数据库中而不刷新页面?

python - Django 。为什么管理模板放在基本文件夹而不是 mysite 中?

django - 如何修复 "Error Removing corrupted schedule file ' celerybeat-schedule' : error ('Bad magic number' , )r"

python - 传输错误 : TransportError(503, 'search_phase_execution_exception' )

python - 如何在 Python 中正确解开此 json 响应以将我需要的数据放入 Pandas DataFrame 中?

python - 格式化字符串刻度标签 matplotlib

django、多数据库(写入器、读取复制)和同步问题

python - Django:Celery Worker 未启动(没有任何错误)

升级到 Python 3.5.2 后,Python jsonrpclib 无法工作