title: RabbitMQ queue order management
body: <p>I'm currently implementing rabbitMQ for a tracking system with multiple front producers writing on the same queue.</p>
  
  <p>Basically i have two types of messages that are sent in the queue, as the tracking workflow has two steps : impression/click => lead/sale. 
  It is very simple : The user clicks a banner, then performs an action on the website that he was redirected to. This action can take a few seconds to a few days to be done.
  I need to consume the lead or sale AFTER the according impresison or click.</p>
  
  <p>The problem is that i need to consume messages in a chronological order. While everything should be good if all producers send messages in the queue at the same speed (ie, the messages should order properly in a FIFO way) i will have issues when one of the producer writes (for some reason) slower in the queue.</p>
  
  <p>For example, if my lead action occurs one second after the click action, and the click producers stalls for a couple seconds, i'll consume the lead before the click and my tracking system won't work.</p>
  
  <p>I'd like to know how to set an order for a queue according to a header that's attached to the message.
  All my servers are synchronized and their clocks have &lt;1ns difference, so i'd like to order my queue according to this information, but i can't find anywhere in the doc a way to setup the queue order or consumption order.</p>
  
  <p>Thanks for your help.</p>