Ruby Bunny交换wait_for_confirm或死亡

问题描述 投票:1回答:1

在利用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没有可用的方法。

我正在考虑重写一些用于类似功能的方法。有没有人遇到过类似的事情并找到了实现此目标的好方法?

ruby rabbitmq bunny
1个回答
0
投票

不要等待同步确认。您应该使用类似waitForConfirmsOrDie()的技术来跟踪未完成的确认并进行处理。


NOTE: RabbitMQ团队监视to this rabbitmq-users,并且有时仅在StackOverflow上回答问题。

© www.soinside.com 2019 - 2024. All rights reserved.