セロリデーモンが非常に不安定であるという問題があります。ファブリック デプロイ スクリプトを使用して、変更をプッシュするたびにデーモンを再起動しますが、何らかの理由でこれが大きな問題を引き起こしています。
デプロイ スクリプトが実行されるたびに、セロリ プロセスは疑似デッド状態のままになります。(残念ながら) これらは引き続き rabbitmq からのタスクを消費しますが、実際には何もしません。紛らわしいことに、簡単な検査では、この状態ではすべてが「正常」であるように見えます。celeryctl ステータスは、1 つのノードがオンラインで、ps aux | grep celery は、2 つの実行中のプロセスを示しています。
ただし、/etc/init.d/celeryd stop を手動で実行しようとすると、次のエラーが発生します。
start-stop-daemon: warning: failed to kill 30360: No such process
この状態で celeryd start を実行しようとすると、正しく動作しているように見えますが、実際には何もしません。この問題を解決する唯一の方法は、実行中のセロリ プロセスを手動で強制終了してから、再度開始することです。
ここで何が起こっているのですか?また、完全な確認はできていませんが、問題は数日後に発生すると考えられます (これは現在テスト サーバーであり、アクティビティはありません)。