Что было бы лучшим способом включить что-то похожее на метод RabbitMQ channel.waitForConfirmsOrDie()
, при этом используя гем Bunny для публичного sh подтверждения?
Сейчас я использую:
if !@channel.using_publisher_confirmations?
@channel.confirm_select
end
@channel.default_exchange.publish(args)
was_successful = @channel.wait_for_confirms()
Но в идеале для сценария, который мне нужен, я хотел бы иметь гораздо более короткий тайм-аут при ожидании подтверждений. Сейчас кажется, что время ожидания по умолчанию составляет примерно 15 секунд, но это слишком долго, чтобы заблокировать поток. Если я не получу подтверждение, скажем, в течение трех секунд, я бы хотел получить исключение / вернуть false.
Я видел, что в документации RabbitMQ было waitForConfirmsOrDie()
, но Банни не имеет этого в качестве метода.
Рассматриваю ли я переписывание некоторых методов для аналогичных функциональность. Кто-нибудь сталкивался с чем-то подобным и нашел хороший способ реализовать это?