Ruby兔子交换wait_for_confirm or die

ngynwnxp  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(66)

在使用Bunny gem进行发布确认的同时,合并类似于RabbitMQ channel.waitForConfirmsOrDie()方法的最佳方法是什么?
我现在正在使用:

if [email protected]_publisher_confirmations?
    @channel.confirm_select
end

@channel.default_exchange.publish(args)

was_successful = @channel.wait_for_confirms()

但理想情况下,对于我需要的场景,我希望等待确认的超时时间短得多。现在,似乎有一个大约15秒的默认超时,但这对于阻止线程来说太长了。如果我在三秒内没有收到确认,我希望发生的是引发异常/返回false。
我在RabbitMQ文档中看到了一个waitForConfirmsOrDie(),但是Bunny没有这个方法。
我是否考虑为类似的功能重写一些方法。有没有人遇到过类似的事情,并找到了一个很好的方法来实现这一点?

p8h8hvxi

p8h8hvxi1#

不要等待同步确认。您应该使用类似于to this的技术来跟踪未完成的确认并处理它们。

相关问题