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 秒的默认超时,但这对于阻塞线程来说太长了。如果我在三秒钟内没有收到确认,我希望发生的事情是引发异常/返回 false。
我在 RabbitMQ 文档中看到了一个waitForConfirmsOrDie()
,但是 Bunny 没有这个方法可用。
我是否正在考虑为类似的功能重写一些方法。有没有人遇到过类似的事情并找到了实现这一点的好方法?