【问题标题】:Is it possible to respond to when a queue has been auto deleted?队列被自动删除时是否可以响应?
【发布时间】:2012-12-26 21:46:26
【问题描述】:

如果您在队列上设置x-expires 以在队列一段时间未使用时自动删除该队列,是否可以通过任何方式通知该事件?当以这种方式删除队列时,我想采取一些清理措施。理想情况下,通过将消息发布到我可以使用的某个交换/队列。

对于referencex-expires 和队列:

queue.declarex-expires 参数控制队列在自动删除之前可以不使用多长时间。未使用意味着队列没有消费者,队列没有被重新声明,basic.get 至少在过期期间没有被调用。服务器保证队列将被删除,如果至少在到期期限内未使用。

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    AFAIK,在 RabbitMQ 端没有内置方法可以做到这一点。您需要使用 API 来获取队列列表,然后比较该列表随时间变化的快照。

    我想不出知道何时自动删除队列会有用的场景。在我看来,这已经是一个自动资源清理功能。谁想知道这个事件(客户端或服务器)?如果您以某种方式“错过”这些通知之一,您希望如何恢复?也许有更好、更确定的方式来实现您的目标。

    您能否提供您的用例,以便提出更有用的替代解决方案?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-29
      • 2011-12-04
      • 2022-10-15
      • 2018-06-21
      • 1970-01-01
      • 2022-01-11
      • 2021-01-21
      • 2022-01-20
      相关资源
      最近更新 更多