Celeryd时间约束错误

时间:2012-12-24 20:00:26

标签: python django celery django-celery celeryd

运行status命令时出现以下错误: -

Am using rabbitmq as the messaging broker

我正在关注此blog

 sudo /etc/init.d/celeryd status
Error: No nodes replied within time constraint

如何调试此错误?

我也检查了这个问题。那里的答案没有帮助。

django/celery - celery status: Error: No nodes replied within time constraint

编辑: -

检查芹菜拍的日志后,我发现了以下错误

celerybeat raised exception <class 'gdbm.error'>: error(13, 'Permission denied')

3 个答案:

答案 0 :(得分:2)

这可能是因为芹菜没有celerybeat-schedule文件的写权限。您链接到的文档显示芹菜配置为使用/var/run/celerybeat-schedule作为芹菜节拍计划文件。

您的进程是否具有该文件的写权限?如果该目录由root拥有(应该是),并且您的进程正在以root用户以外的任何其他方式运行,则可能导致权限被拒绝错误。

检查您的权限是否正确,然后尝试删除该文件,然后重新启动所有内容。

答案 1 :(得分:1)

使用以下命令查找问题:

C_FAKEFORK=1 sh -x /etc/init.d/celeryd start

这通常是因为源项目中存在问题(权限问题,语法错误等)

如芹菜文档中所述: -

  

如果工人以“OK”开始,但几乎立即退出   并且日志文件中没有任何内容,则可能存在错误   但由于守护进程标准输出已经关闭,你不会   能够在任何地方看到它们。对于这种情况,你可以使用   C_FAKEFORK环境变量跳过守护步骤

祝你好运

来源:Celery Docs

答案 2 :(得分:0)

我遇到了同样的问题。 重启rabbitmq修复了它:

sudo systemctl restart rabbitmq-server

奇怪的是我需要等待至少100秒。 对我来说,我认为存在磁盘问题。