【问题标题】:How to consume from queues with custom names (defined on a fly) with RabbitMQ如何使用 RabbitMQ 从具有自定义名称(动态定义)的队列中消费
【发布时间】:2019-11-24 03:59:02
【问题描述】:

我有一个带有 ID 的任务,每个任务都有一些工作要做:

  • 每个用户的每个作业;
  • 对于每个任务,用户数和作业数都不同。

我想把所有的作业放到一个名为task{id}的队列中,这样我就可以控制任务何时完成(通过空队列task{id}),并在rabbitMQ帮助下自动删除它,并控制许多消费者在处理一项任务{id}。

我希望我的消费者一直像守护进程一样工作,并自动选择具有作业的队列来处理。

这里的主要问题是如何获取消费者内部的任务名称以将它们绑定到它? 或者也许在不知道队列名称的情况下,rabbitMQ 可能还有其他技巧可以做到这一点?

【问题讨论】:

    标签: rabbitmq rabbitmq-exchange php-amqplib php-amqp


    【解决方案1】:

    您需要使用Event Exchange Plugin,此插件允许您使用内部事件并将其重新发布到主题交换,从而将事件公开给客户端(应用程序)。

    您可以绑定到queue.created 事件,该事件将为您提供消息头中的队列名称,然后您可以使用它将您的消费者绑定到该特定队列

    【讨论】:

      猜你喜欢
      • 2022-08-19
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多