python - 根据 ID 合并 RabbitMQ 队列
问题描述
我有一个工作人员从提要中提取 ID 并将它们发布到队列中。多个工作人员读取该队列并从多个源添加其他数据并将更新的对象发布到他们各自的队列。
我需要一种方法让另一个工作人员从这些队列中摄取并将这些数据位合并到一个文档中以存储在数据库中。
我想要一种让 RabbitMQ 变得聪明的方法,并且只有在所有其他工作人员完成收集有关该 ID 的信息后才将消息传递给最终工作人员。这可能吗,使用 RabbitMQ?
IE:
[{id:1},{id:2},{id:3}] --worker--> [{id: 1, somedata: "foo"}, ...] <<how do I send this merge_worker both queues, synced by the id field>>
--worker--> [{id: 1, otherdata: "bar"}, ...] --merge_worker--> [{id: 1, somedata: "foo", otherdata: "bar"}, ...] --> dumps to DB
这是我正在进行的一个新项目,所以如果有其他工具比 RabbitMQ 更好,我愿意接受建议并且可以轻松切换。只要不是卡夫卡……卡夫卡伤害了我太多次
解决方案
推荐阅读
- python - 遇到 SyntaxError 的错误:can't assign to expression on assigning hexadecimal values to a buffer variable
- charts - 如何使用 Vega 在雷达图中显示平均值
- python - 在 if 条件中使用 ansible 事实 - Jinja 模板
- python - 在 tensorflow Keras 实现中首先制作 Channel 维度的优势是什么
- python-sphinx - restructuredText 中的段落之间缺少带有手动标记的空行
- javascript - d3.js 中的工具提示
- php - 仅在 Moodle 中保存课程/活动时出现错误 504 超时
- javascript - React Native 功能组件无法从 Redux 存储中获取数据
- ios - 如何在 Eureka 表单中向 ButtonRow 添加加载指示器?
- c# - 如何拥有一个主要用作单个字符串的字符串数组?