I want to define a queue such that all msgs coming to it is routed to different worker and at the same time shared specifically with one of the workers I guess a diagram can explain better
W(i) - Worker which recieves distinct msgs
W(sp) - is special worker which recieves all the msgs
Q - Queue
'---------------------------------------Q-------------------------
|--------------------------- |---------------------------- |
|--------------------------- |---------------------------- |
W1,W(sp)-------------W2,W(sp)-----------W3,W(sp)
As you can see W1,W2,W3,W4 are all distinct workers each receiving distinct msgs like a normal worker. Each will recieve one job from the queue
However each of the msgs should be shared with like an exchange W(sp). How can i achieve it. Is there some parameter which i can set so that W(sp) can always receive all the events from the queue
It will be great if you could help
EDIT 1
I found its a little tricky to understand the question ,here's another version
I want to share jobs from queue in round robin so that a job is given only once to a consumer as i want to do parallel processing of job, and at the same time i want a special consumer which will also get all the jobs from queue.
Eg:
counsumer - C1,C2,C3,C4
special consumer - Csp
queue - Q
Each job in Q should be broadcasted to one of C1,C2,C3,C4 and shared with Csp . Thus a job from Q is shared between Csp and one of C(i). With this i will we able to parallely process jobs in C1,C2,C3,C4 etc and at the same time validate each of the jobs in Q with my consumer Csp