6

いくつかのバグがあるアプリケーションを持っています。何らかの理由で、1 つしか存在しないはずの 2 つのコンシューマーが作成され、そのうちの 1 つでメッセージのチェックが行われなくなりました。

サーバー上のキューとコンシューマーの数をリストすることで、その状況を検出できます。サーバー側からその消費者を破壊する方法はありますか?

4

3 に答える 3

8

rabbitmqctlツール(マニュアルページを参照)またはWeb UIを使用して、RabbitMQブローカーへの接続を切断できます。不正なコンシューマーに属していたキューをパージして削除することもできます。

ただし、これらのツールを使用してコンシューマープロセス自体を強制終了することはできません。正しい数のコンシューマーのみが作成されるように、アプリケーションのバグの修正に集中する必要があります。

于 2011-08-19T01:23:13.147 に答える
8

close_connection入力rabbitmqctlを使用して消費者を殺すことができますconnectionpid

> rabbitmqctl close_connection "<rabbit@hardys-Mac-mini.1.4195.0>" "reason here"

connectionpid を取得できます

> rabbitmqctl list_consumers

Listing consumers ...
send_email_1    <rabbit@hardys-Mac-mini.1.4185.0>   amq.ctag-oim8CCP2hsioWc-3WwS-qQ true    1   []
send_email_2    <rabbit@hardys-Mac-mini.1.4195.0>   amq.ctag-WxpxDglqZQN2FNShN4g7QA true    1   []

ウサギMQ 3.5.4

于 2015-09-04T09:04:13.817 に答える