Queue processing one by one using RabbitMQ -
Queue processing one by one using RabbitMQ -
i have limited number of workers , unlimited number of queues named mask "q.*" (e.g. q.1
, q.2
). need process them in turn. 1 task per 1 worker. when worker finished task, receive new 1 next existing queue.
e.g. have queues:
q.1: task11, task12, task13 q.2: task21, task22, task23
and 3 workers. expect next order of executing:
worker1: task11 worker2: task21 worker3: task12 worker1: task22 worker2: task13 worker3: task23
i tried utilize topic
, subscribed mask q.*
leads fact each worker receives tasks queues. right decision?
think of each queue it's own bucket of work. q.1 has no relation q.2 @ , in fact doesn't know exists. may process things @ different rates q.2 , should have different consumers. worker on q.1 should concerned q.1, shouldn't bounce , forth between q.1 , q.2.
are trying chain 2 queues together? if have this:
message gets set q.1 message processed worker (call worker1) of q.1 after worker1 acks message inserts new message q.2 message processed worker (call worker2) of q.2 queue rabbitmq
Comments
Post a Comment