Celery Worker - Consume from Queue matching a regex
<p><strong>Background</strong></p>

<p>Celery worker can be started against a set of queues using -Q flag. E.g. </p>

<blockquote>
  <p>-Q dev.Q1,dev.Q2,dev.Q3</p>
</blockquote>

<p>So far I have seen examples where all the queue names are explicitly listed as comma separated values. It is troublesome if I have a very long list.</p>

<p><strong>Question</strong></p>

<p>Is there a way I can specify queue names as a regex &amp; celery worker will start consuming from all queues satisfying that regex.</p>

<p>E.g.</p>

<blockquote>
  <p>-Q dev.*</p>
</blockquote>

<p>This should consume from all queuess starting with dev i.e. dev.Q1, dev.Q2, dev.Q3. <em>But what I have seen is - it creates a queue dev.</em>.*</p>

<p>Also how can I tune the regex so that it doesn't pick ERROR queues e.g. dev.Q1.ERROR, dev.Q2.ERROR.</p>

<p>Something along these lines would work: (\b(dev.)(\w+)).
Then refer to the second group for the stuff after "dev.".</p>

<p>You'll need to set it up to capturing repeated instances if you want to get multiple.</p>

python celery django-celery