RabbitMQ ожидает завершения нескольких очередей

Хорошо, вот обзор того, что происходит:

    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 

Итак, у меня есть обмен, который выдвигает несколько очередей, у каждой очереди есть задача, как только все задачи завершены, только тогда может начаться очередь 4.

Таким образом, сообщение с уникальным идентификатором 1234 отправляется на обмен, и маршрутизатор направляет его во все очереди задач (Q1, Q2, Q3 и т. Д.), Когда все задачи для идентификатора сообщения 1234 завершены, для сообщения запускается Q4 id 1234.

Как я могу это реализовать?

Использование Symfony2, RabbitMQBundle и RabbitMQ 3.x

Ресурсы:

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

ОБНОВЛЕНИЕ № 1

Хорошо, я думаю, это то, что я ищу:

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

RPC с параллельной обработкой, но как мне установить Correlation Id, чтобы он был моим уникальным идентификатором для группировки сообщений и определения какой очереди?

Ответы на вопрос(1)

Ваш ответ на вопрос