1
理想情况下,我想在RabbitMQ变空时删除队列。基本上,我想要一个队列包含积压的消息,然后当发生某些事情时,这些消息将被发送,直到队列为空。一旦队列为空,我想删除它。RabbitMQ:是否可以在队列空时删除队列?
这可能吗?我正在使用节点。
理想情况下,我想在RabbitMQ变空时删除队列。基本上,我想要一个队列包含积压的消息,然后当发生某些事情时,这些消息将被发送,直到队列为空。一旦队列为空,我想删除它。RabbitMQ:是否可以在队列空时删除队列?
这可能吗?我正在使用节点。
可以声明一个RabbitMQ队列,以便在没有消费者附加到它的情况下它将被自动删除。您还可以指定一个生存时间值,即使没有使用者,队列将保持活动的时间。更多信息是在这里:https://www.rabbitmq.com/amqp-0-9-1-reference.html(寻找队列)和这里:http://www.rabbitmq.com/ttl.html#queue-ttl
由于您的问题被标记javascript
,您可以使用squaremo的amqplib库。这里是你如何能恰当地使用该库的申报队列:在sqmaremo的amqplib
var queueType = {durable: false, autoDelete: true, exclusive: false,
arguments : {
'x-message-ttl' : messageTTL,
'x-expires' : queueTTL
}
};
channel.assertQueue (qname, queueType_Shared)
更多的信息在这里:http://www.squaremobius.net/amqp.node/doc/channel_api.html