2017-11-28 14 views
1

サブスクライバ(ハンドラスクリプト)は、Rabbit MQキューからメッセージを受信します。Rabbit MQにメッセージを戻すには?

それからメッセージをチェックし、いくつかの操作を行います。条件が正しくない場合、処理されたメッセージをキューに戻す方法を追加するにはどうすればよいですか?うさぎのMQで可能ですか?

+0

シナリオを指定できますか?私はRabbit MQが 'Topics'、' Publish/Subscribers'を持っていることを知っているので、あなたの話題に合ったりメッセージが必要な時に購読するだけではどうですか? – haifzhan

+0

たとえば、キュ​​ー内にメッセージがあります。obj = {'date': '2017'}ハンドラはチャネルを購読し、このメッセージを取得します。次に、date == 2017であるかどうかを確認し、そうでない場合はメッセージをキューに戻す – Oleg

答えて

2

autoAcknowledgefalseに設定し、「メッセージが表示されたら」 - send negative acknowledgementと拒否してください。メッセージがnACKされたことがわかると、rabbitmqはメッセージを再キューに入れます。

+0

ここで注意すべきことは、同じコンシューマがメッセージを再び受け取ることを防ぐことは何もないということです。 – theMayer

関連する問題