RabbitMQ:是否有可能删除队列时,他们是空的?

理想情况下,我想在RabbitMQ变空时删除队列。 基本上,我想要一个队列包含积压的消息,然后当发生什么事情时,这些消息将被发送,直到队列为空。 一旦队列为空,我想删除这个。

这可能吗? 我正在使用节点。

可以声明一个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