1

channel.waitForConfirmsOrDie()公開確認に Bunny gem を利用しながら、RabbitMQ メソッドに似たものを組み込む最良の方法は何でしょうか?

現在、私は使用しています:

if !@channel.using_publisher_confirmations?
    @channel.confirm_select
end

@channel.default_exchange.publish(args)

was_successful = @channel.wait_for_confirms()

しかし、理想的には、私が必要とするシナリオでは、確認を待つ際のタイムアウトをはるかに短くしたいと考えています。現在、デフォルトのタイムアウトは約 15 秒に設定されているようですが、スレッドをブロックするには長すぎます。たとえば 3 秒以内に確認を受け取らなかった場合、例外を発生させて false を返すようにしたいと考えています。

RabbitMQ のドキュメントにがあったのを見ましたがwaitForConfirmsOrDie()、Bunny には利用可能なメソッドとしてこれがありません。

同様の機能のためにいくつかのメソッドを書き直すことを検討していますか? 誰かが似たようなものに出くわし、これを実装する良い方法を見つけましたか?

4

1 に答える 1