title: RabbitMQ wait for multiple queues to finish
body: <p>Ok here is an overview of what's going on:</p>
  
  <pre><code>    M &lt;-- Message with unique id of 1234
      |
      +-Start Queue
      |
      |
      | &lt;-- Exchange
     /|\
    / | \
   /  |  \ &lt;-- bind to multiple queues
  Q1  Q2  Q3
  \   |   / &lt;-- start of the problem is here
   \  |  / 
    \ | /
     \|/
      |
      Q4 &lt;-- Queues 1,2 and 3 must finish first before Queue 4 can start
      |
      C &lt;-- Consumer 
  </code></pre>
  
  <p>So I have an exchange that pushes to multiple queues, each queue has a task, once all tasks are completed, only then can Queue 4 start.</p>
  
  <p>So message with unique id of 1234 gets sent to the exchange, the exchange routes it to all the task queues ( Q1, Q2, Q3, etc... ), when all the tasks for message id 1234 have completed, run Q4 for message id 1234.</p>
  
  <p>How can I implement this?</p>
  
  <p>Using Symfony2, RabbitMQBundle and RabbitMQ 3.x</p>
  
  <p>Resources:</p>
  
  <ul>
  <li><a href="http://www.rabbitmq.com/tutorials/amqp-concepts.html">http://www.rabbitmq.com/tutorials/amqp-concepts.html</a></li>
  <li><a href="http://www.rabbitmq.com/tutorials/tutorial-six-python.html">http://www.rabbitmq.com/tutorials/tutorial-six-python.html</a></li>
  </ul>
  
  <p>UPDATE #1</p>
  
  <p>Ok I think this is what I'm looking for:</p>
  
  <ul>
  <li><a href="https://github.com/videlalvaro/Thumper/tree/master/examples/parallel_processing">https://github.com/videlalvaro/Thumper/tree/master/examples/parallel_processing</a></li>
  </ul>
  
  <p>RPC with Parallel Processing, but how do I set the Correlation Id to be my unique id to group the messages and also identify what queue?</p>