ruby - Ruby Bunny 交换 wait_for_confirm 或死亡
问题描述
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 没有这个方法可用。
我是否正在考虑为类似的功能重写一些方法。有没有人遇到过类似的事情并找到了实现这一点的好方法?
解决方案
推荐阅读
- javascript - 通过状态对象映射并测试没有多个返回值的多个嵌套数组?
- postgresql - 代码返回不明确错误需要帮助
- kotlin - 在 Kotlin 的一行中使用(自定义)项目初始化新的 arraylist
- python - 我可以使用任何堆栈驱动程序监控 api 或 gcloud 命令获得 gcp 计算建议以调整实例大小吗
- python-3.x - 无法在 Raspberry Pi 上安装 snips-nlu:找不到 Rust 编译器
- c# - c#中的a is string和a !is string有什么区别
- android - 将 android studio 活动保存在单独的文件中
- mysql - PHP mySQL 查询,加入另一个表,但需要获取所有行
- react-native - Branch.io React Native 单次使用邀请链接
- soap - soapUI 中出现 401 Not Authorized 错误,但 Web 服务在 Postman 中运行良好