4

status コマンドの実行中に、次のエラーが表示されます:-

Am using rabbitmq as the messaging broker

このブログをフォローしています

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

このエラーをデバッグするにはどうすればよいですか?

私もこの質問をチェックしました。そこでの答えは役に立ちませんでした。

django/celery - セロリのステータス:エラー:時間制限内にノードが応答しませんでした

編集:-

セロリビートのログを確認したところ、次のエラーが見つかりました

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

3 に答える 3

2

おそらくこれは、セロリがcelerybeat-scheduleファイルへの書き込み権限を持っていないことが原因です。リンクしたドキュメントは/var/run/celerybeat-schedule、セロリビートスケジュールファイルとして使用するように構成されたセロリを示しています。

プロセスにはそのファイルへの書き込み権限がありますか? そのディレクトリが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 に答える