node-amqp队列销毁:通知订户

我使用node-amqp和rabbit作为一些pub / sub工具。 我想知道是否有可能通知订阅者某人/某事(在其他进程中)已经销毁他们正在收听的队列。

例如,处理一:

connection.queue(name = "test-queue1", options, function(queue) { queue.subscribe({}, function(message, headers, deliveryInfo) { deliverMessage(message); }).once('error', function(error) { logger.error(error) }).once("queueDeleteOk", function bindHandler() { queue.close(); }); }; 

现在,其他进程可能会破坏该队列。 用户如何知道这一点? 例如,stream程二可以做到:

 connection.queue(name = "test-queue1", options, function(queue) { queue.destroy(delete_options); }).once("queueDeleteOk", function bindHandler() { queue.close(); }); 

我试图听取“queueDeletedOk”这个事件的作用,但是它只在进程2中被发送和接收,这正在销毁队列。 尝试事件“closures”在队列上同样发生。

感谢和最好的问候,

RabbitMQ支持消费者取消通知 : http : //www.rabbitmq.com/consumer-cancel.html

我不知道你正在使用的库,但是这里的这个[1]是由一个前RabbitMQ core-dev创build的,并支持消费者取消通知。

1 – http://squaremo.github.io/amqp.node/doc/channel_api.html