【问题标题】:RabbitMQ subscriber based on two events基于两个事件的 RabbitMQ 订阅者
【发布时间】:2017-08-24 02:56:38
【问题描述】:

当两个独立的异步事件完成时,我们需要触发另一个事件。我们在每个异步事件完成时发布单独的 rabbitmq 消息。我浏览了 RabbitMQ 文档,但没有找到优雅的处理方法。

Scenario:
- Task A completed
- Task B completed
Start task C only if A & B are completed.

有什么设计模式可以帮助我吗? RabbitMQ 之外的任何东西都可以。我们希望在没有轮询的情况下实现这一目标。任务完全独立地发生在 3 个不同的系统中。

芹菜对此有帮助吗?

【问题讨论】:

    标签: asynchronous rabbitmq celery messaging


    【解决方案1】:

    我们在 RabbitMQ 本身中使用聚合器模式实现了这一点。

    http://www.enterpriseintegrationpatterns.com/patterns/messaging/Aggregator.html

    我们创建了一个主题(聚合器)。任务 A 和任务 B 订阅了它。每当任何任务完成时,都会将消息推送到主题。主题正在维护 taskA 和 taskB 的状态,并在两个任务完成后发布另一条消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      • 2018-12-20
      • 2022-12-11
      • 1970-01-01
      相关资源
      最近更新 更多