使用 Ruby Bunny gem 列出队列 RabbitMQ

nav*_*eed 5 ruby rubygems amqp rabbitmq

无法在 RabbitMQ Bunny 文档上找到任何有关列出队列名称及其消息计数的文档。如果我的rabbitmq-server与代码位于同一服务器上,我已经能够使用此命令行结果提取名称和计数

sudo /usr/sbin/rabbitmqctl list_queues

我的rabbitmq 服务器将在不同的服务器上运行。任何帮助将非常感激。

kzh*_*hen 5

您会发现大多数用于连接 RabbitMQ 代理的客户端无法为您提供此类信息。

相反,您想要使用的是 RabbitMQ 管理插件(请参见此处)。

它公开了一个 HTTP 端点,您可以向该端点发送 GET 和 POST 请求并接收有关队列、连接等的信息...

要获取代理中所有队列的列表:

发送 GET 请求至

http://therabbitmqhost:15672/api/queues/
Run Code Online (Sandbox Code Playgroud)

要获取特定队列的详细信息,请发送 GET 请求至

http://therabbitmqhost:15672/api/queues/thevhost/thequeuename
Run Code Online (Sandbox Code Playgroud)

这将返回该特定队列的消息计数。

有关 API 的详细信息,请参阅http://hg.rabbitmq.com/rabbitmq-management/raw-file/3646dee55e02/priv/www-api/help.html 。