ruby-on-rails - 如何访问在 Bunny session 中打开的 channel /队列?

标签 ruby-on-rails rabbitmq rabbitmq-exchange bunny

我正在使用 Rabbit MQ 的 Ruby 客户端 (Bunny)。

我在初始化程序中移动了 hole Bunny 配置和初始化过程。

如何从 Controller 或库中访问在 Bunny 连接上打开的 channel /队列?

当我调用 Bunny::Session#open? 时我得到“true”,但我似乎无法弄清楚如何访问该 session 中我需要的所有内容。

最佳答案

队列:如果你给队列一个名字,你可以用相同的名字调用.queue,它永远不会创建超过一个队列,但它会重新创建如果它因任何原因消失,请排队。

 handle_to_my_queue = $rabbit_channel.queue(queue_name)

channel :如果您使用 ID 创建 channel ,那么您可以调用 create_channel,它的行为类似于“查找或创建”。

对于 channel ,您通常只需要一个 channel ,所以我使用了一个全局变量(我知道,哎呀!)。

配置/初始化程序/rabbit.rb

$rabbit_connection = Bunny.new
$rabbit_connection.start
$rabbit_channel = $rabbit_connection.create_channel

关于ruby-on-rails - 如何访问在 Bunny session 中打开的 channel /队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220959/

相关文章:

java - 使用剩余端点扩展或缩小 PCF 应用程序

即使返回 200,Azure 流量管理器终结点也显示已降级

rabbitmq - rabbitmq的兑换次数有限制吗?

java - 如何在兔子消息死信时指定附加信息

ruby-on-rails - 如何在 Rails 助手中将内容包装在 html 中

ruby-on-rails - Rails 没有路由匹配 PUT,但 rake 路由显示它存在

java - 如何从队列中获取所有现有消息并停止消费者

json - 如何使用 rabbitmqadmin 命令发布 Json

mysql - 您应该在 RoR 中的什么位置存储大量自定义字符串?

ruby-on-rails - rails STI : specific attributes for subclasses