我想阻止特定队列在特定时间内消耗掉。 有没有办法阻止访问Rabbit特定队列一段时间? 我不控制客户只有兔子。
答案 0 :(得分:0)
不直接来自RMQ
有一些选择,但可能不是很好。
例如,你可以删除队列。如果没有队列,则无法使用。但这意味着您无法在该队列中收集消息以供日后使用。当消费者尝试连接到队列时,您也会遇到问题。他们要么出错,要么会创建队列。交换和队列之间的绑定也是如此 - 你可以删除它。但同样,当绑定丢失时,您的队列将不会收集消息。
你最好的选择,假设你仍然需要收集信息并且只是延迟处理它们,将是两件事之一:
1)编写将消息发送到不同队列的代码,没有消费者附加到它。然后在任何时间段之后,将这些消息重新发布到正确的队列中。
或
2)如果您只是需要单独延迟每条消息,延迟消息交换插件将为您执行此操作。 https://github.com/rabbitmq/rabbitmq-delayed-message-exchange