RabbitMQ czeka na zakończenie wielu kolejek

OK tutaj jest przegląd tego, co się dzieje:

    M <-- Message with unique id of 1234
    |
    +-Start Queue
    |
    |
    | <-- Exchange
   /|\
  / | \
 /  |  \ <-- bind to multiple queues
Q1  Q2  Q3
\   |   / <-- start of the problem is here
 \  |  / 
  \ | /
   \|/
    |
    Q4 <-- Queues 1,2 and 3 must finish first before Queue 4 can start
    |
    C <-- Consumer 

Mam więc wymianę, która przepycha się do wielu kolejek, każda kolejka ma zadanie, gdy wszystkie zadania zostaną zakończone, dopiero wtedy może rozpocząć się kolejka 4.

Tak więc wiadomość o unikalnym identyfikatorze 1234 zostaje wysłana do giełdy, centrala kieruje ją do wszystkich kolejek zadań (Q1, Q2, Q3 itd ...), gdy wszystkie zadania dla identyfikatora wiadomości 1234 zostały zakończone, uruchom Q4 dla wiadomości id 1234.

Jak mogę to zaimplementować?

Używanie Symfony2, RabbitMQBundle i RabbitMQ 3.x

Zasoby:

http://www.rabbitmq.com/tutorials/amqp-concepts.htmlhttp://www.rabbitmq.com/tutorials/tutorial-six-python.html

AKTUALIZACJA # 1

Ok, myślę, że tego właśnie szukam:

https://github.com/videlalvaro/Thumper/tree/master/examples/parallel_processing

RPC z przetwarzaniem równoległym, ale jak ustawić identyfikator korelacji jako mój unikalny identyfikator grupujący wiadomości i określający kolejkę?

questionAnswers(5)

yourAnswerToTheQuestion