我们如何强制RabbitMQ在特定时间内停止接收任何消息?
它必须尽可能快,因为我们要在测试之间进行。
我们尝试了政策,但没有找到能解决该问题的方法。另外rabbitmqctl停止和启动也可以,但是这很慢。
背景:我们拥有一个带有RabbitMQ和大量服务的自动化端到端测试环境。在两次测试之间,我们希望通过清除所有存储和缓存以及队列来重置环境。问题是,在中间状态下,消息可以填充已经清除的服务中的数据。因此,我们要首先停止RabbitMQ接收消息,然后清除所有队列,然后清除所有服务上的所有存储和缓存。
我制定了政策
max-length-bytes: 1
overflow: reject-publish
适用于所有队列和交换。看来可行,rabbit mq不再传送任何消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句