そのため、クラスター化されたrabbitmqバックエンドを備えた複数のサーバーでセロリを実行しています。最近、セロリで何をしても無期限にハングし始め、rabbitmq のログを確認すると、次のあいまいなエラー メッセージが表示されます。
=ERROR REPORT==== 20-Mar-2013::23:52:25 ===
connection <0.15823.3>, channel 1 - soft error:
{amqp_error,not_found,
"no binding i-69995906 between exchange 'i-69995906' in vhost 'celery' and queue 'i-69995906' in vhost 'celery'",
'queue.bind'}
rabbitmqctl list_bindings を実行すると、次のようになります。
# rabbitmqctl list_bindings -p celery
Listing bindings ...
exchange celery queue celery []
celery exchange celery queue celery []
...done.
エラーを取り除くにはどうすればよいですか? すでに Rabbitmq を再起動し、Rabbitmq を再インストールし、クラスターを削除して復元しました。既存のバインディングを復元する必要があると推測していますが、rabbitmqctl またはセロリからの方法がわかりません。これが機能しない場合、私のセロリのタスクはまったく機能しません。