4

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

Am using rabbitmq as the messaging broker

我正在关注这个博客

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

如何调试此错误?

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

django/celery - 芹菜状态:错误:没有节点在时间限制内回复

编辑:-

检查 celery beat 的日志后,我发现了以下错误

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

3 回答 3

2

这可能是由于 celery 没有celerybeat-schedule文件的写权限引起的。您链接到的文档显示配置为/var/run/celerybeat-schedule用作 celery beat schedule 文件的 celery。

您的进程是否对该文件具有写入权限?如果该目录由root(应该是)所有并且您的进程以root用户以外的任何身份运行,则可能导致权限被拒绝错误。

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

于 2012-12-27T17:01:46.953 回答
1

使用以下命令查找问题:

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

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

如芹菜文档中所述:-

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

祝你好运

资料来源:芹菜文档

于 2015-01-21T07:25:16.850 回答
0

我有同样的问题。重启rabbitmq修复它:

sudo systemctl restart rabbitmq-server

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

于 2017-01-09T16:52:24.207 回答