【发布时间】:2013-05-03 09:23:06
【问题描述】:
使用 Node JS 和 RabbitMQ 的 AMQP 模块,有什么方法可以知道队列中有多少订阅者?
我们在多个地区的默认交易所有多个队列。当一个区域出现故障时,我们不会将消息路由到该队列,而是路由到正在主动侦听的下一个最佳 AMQP 队列(区域)。
有没有办法统计队列中的订阅者数量?
我们设置了心跳,因此服务器应该能够准确跟踪。
谢谢!
【问题讨论】:
使用 Node JS 和 RabbitMQ 的 AMQP 模块,有什么方法可以知道队列中有多少订阅者?
我们在多个地区的默认交易所有多个队列。当一个区域出现故障时,我们不会将消息路由到该队列,而是路由到正在主动侦听的下一个最佳 AMQP 队列(区域)。
有没有办法统计队列中的订阅者数量?
我们设置了心跳,因此服务器应该能够准确跟踪。
谢谢!
【问题讨论】:
我最终找到了这块金子:
var conn = amqp.createConnection({ url: process.env.AMQP, heartbeat: 60 });
conn.queue('queue-name').on('queueDeclareOk', function(args) {
console.log('Total Consumers: ' + args.consumerCount);
}
完美运行:)
【讨论】: