强制RabbitMQ停止接收任何消息

时间:2018-11-01 14:10:09

标签: rabbitmq

我们如何强制RabbitMQ在一段时间内停止接收任何消息?

它必须尽可能快,因为我们想在测试之间进行。

我们尝试了政策,但没有找到能解决该问题的方法。同样,rabbitmqctl停止和启动也可以,但这很慢。

背景:我们拥有一个自动的端到端测试环境,其中包含RabbitMQ和许多服务。在测试之间,我们想通过清除所有存储和缓存以及队列来重置环境。问题是,在中间状态下,消息可以填充已经清除的服务中的数据。因此,我们要首先停止RabbitMQ接收消息,然后清除所有队列,然后清除所有服务上的所有存储和缓存。

1 个答案:

答案 0 :(得分:2)

我设置了政策

max-length-bytes:   1
overflow:   reject-publish

用于所有队列和交换。看来可行,rabbit mq不再传送任何消息。