title: How does a Celery worker consuming from multiple queues decide which to consume from first?
body: <p>I am using Celery to perform asynchronous background tasks, with Redis as the backend. I'm interested in the behaviour of a Celery worker in the following situation:</p>
  
  <p>I am running a worker as a daemon using <code>celeryd</code>. This worker has been assigned two queues to consume through the <code>-Q</code> option:</p>
  
  <pre><code>celeryd -E -Q queue1,queue2
  </code></pre>
  
  <p><strong>How does the worker decide where to fetch the next task to consume from?</strong> Does it randomly consume a task from either <code>queue1</code> or <code>queue2</code>? Will it prioritise fetching from <code>queue1</code> because it is first in the list of arguments passed to <code>-Q</code>?</p>