我将 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();
});
};
现在,其他进程可能会破坏该队列。订阅者如何知道这一点?例如,流程二可以这样做:
connection.queue(name = "test-queue1", options, function(queue) {
queue.destroy(delete_options);
}).once("queueDeleteOk", function bindHandler() {
queue.close();
});
我试图监听有效的事件“queueDeletedOk”,但它只在进程二中发出和接收,这正在破坏队列。尝试通过队列“关闭”事件也会发生同样的情况。
谢谢和最好的问候,