如何使用RabbitMQ从具有自定义名称(动态定义)的队列中使用

如何使用RabbitMQ从具有自定义名称(动态定义)的队列中使用,rabbitmq,rabbitmq-exchange,php-amqplib,php-amqp,Rabbitmq,Rabbitmq Exchange,Php Amqplib,Php Amqp,我有带ID的任务,每个任务都有一些作业要做: 每个用户的每个作业 对于每个任务,用户数和作业数都是不同的 我想将所有作业放在一个名为task{id}的队列中,这样我就可以控制任务何时完成(通过空队列task{id}),并使用rabbitMQ帮助自动删除它,以及控制处理一个任务{id}的多个使用者 我希望我的消费者一直像守护进程一样工作,并自动选择包含作业的队列 这里的主要问题是如何在使用者内部获取任务名称以将其绑定到它? 或者,rabbitMQ可能还有其他一些技巧可以做到这一点,而不知道队列

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

  • 每个用户的每个作业
  • 对于每个任务,用户数和作业数都是不同的
我想将所有作业放在一个名为task{id}的队列中,这样我就可以控制任务何时完成(通过空队列task{id}),并使用rabbitMQ帮助自动删除它,以及控制处理一个任务{id}的多个使用者

我希望我的消费者一直像守护进程一样工作,并自动选择包含作业的队列

这里的主要问题是如何在使用者内部获取任务名称以将其绑定到它? 或者,rabbitMQ可能还有其他一些技巧可以做到这一点,而不知道队列的名称?

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

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