RabbitMQ - 订阅多个队列

时间:2016-06-16 13:48:02

标签: rabbitmq scheduling

我有一个生产者和工人系统。制片人制作任务。我需要将任务分配给工人。任务有类型。工人是专业的。每个工作人员都可以处理任务类型的子集。例如,我有任务类型:A,B,C,D

Worker1 can handle tasks types { A, B, C }
Worker2 can handle: { A, C }
Worker3 can handle: { A, B, D }
etc...

并非所有工人都一直在运行。因此,对于某些任务类型,甚至可能没有能够处理任务的正在运行的工作程序,因此任务必须在队列中等待,直到能够处理该任务的工作程序开始。

系统应该是公平的,因此任务应该按照相同的顺序(如果可能的话)处理。

似乎我需要为每个任务类型创建一个队列,并将worker命名为他们能够处理的类型。

但是,似乎无法阻止订阅多个队列。实现这一目标的唯一方法是主动等待。

有什么想法吗? RabbitQM适合这个问题吗?

0 个答案:

没有答案