rabbitmq - 强制 RabbitMQ 停止接收任何消息
问题描述
我们如何强制 RabbitMQ 在一段时间内停止接收任何消息?
它必须尽可能快,因为我们想在测试之间这样做。
我们尝试了策略,但没有找到任何适用于该问题的策略。rabbitmqctl stop and start 也可以,但这很慢。
背景:我们有一个带有 RabbitMQ 和许多服务的自动化端到端测试环境。在测试之间,我们希望通过清除所有存储和缓存以及队列来重置环境。问题是,在中间状态下,消息可以填充已清除服务中的数据。所以我们要先停止 RabbitMQ 接收消息,然后清除所有队列,然后清除所有服务上的所有存储和缓存。
解决方案
我制定政策
max-length-bytes: 1
overflow: reject-publish
适用于所有队列和交换。这似乎有效,rabbit mq 不再传递任何消息。
推荐阅读
- azure-cosmosdb - 在 Cosmos 中批量删除
- liquid - 使用流式语法计算两个经纬度对之间的距离
- r - 用 geom_bar() 绘制多列
- java - 根据使用流的条件将值设置为 2 个字符串。将 for 循环转换为流
- python - 如何使用他们的 API 访问 Google Classroom 中的“等级类别”
- javascript - 当 totalbrick == 0 时 JavaScript 重绘砖块
- python - NotImplementedError:具有分组映射 Pandas UDF 的无效 returnType
- javascript - 运行和 NPM 脚本时遇到错误
- c++ - 为什么我从 csv 加载的矩阵工作不正确?
- antlr - 修复 Antlr4 中 Antlr3 语法中的“不允许多字符文字”错误