RabbitMQ:当它们为空时是否可以删除队列?

时间:2015-09-18 02:09:48

标签: javascript node.js rabbitmq amqp

理想情况下,当它们变空时,我想删除RabbitMQ中的队列。基本上,我希望队列包含积压的消息,然后当某些事情发生时,这些消息将被发送,直到队列为空。队列为空后,我想删除它。

这可能吗?我正在使用Node。

1 个答案:

答案 0 :(得分:0)

可以声明RabbitMQ队列,以便在没有附加消费者的情况下自动删除它。您还可以指定生存时间值,即使没有消费者,队列也将保持活动状态。更多信息请访问:https://www.rabbitmq.com/amqp-0-9-1-reference.html(查找队列),此处:http://www.rabbitmq.com/ttl.html#queue-ttl

由于您的问题已标记为javascript,因此您可能正在使用squaremo的amqplib库。以下是使用该库正确声明队列的方法:

var queueType = {durable: false, autoDelete: true, exclusive: false,
    arguments : {
        'x-message-ttl' : messageTTL,
        'x-expires' : queueTTL
    }
};

channel.assertQueue (qname, queueType_Shared)

有关sqmaremo的amqplib的更多信息,请访问:http://www.squaremobius.net/amqp.node/doc/channel_api.html