title: Why does celery add thousands of queues to rabbitmq that seem to persist long after the tasks completel?
body: <p>I am using celery with a rabbitmq backend. It is producing thousands of queues with 0 or 1 items in them in rabbitmq like this:</p>
  
  <pre><code>$ sudo rabbitmqctl list_queues
  Listing queues ...
  c2e9b4beefc7468ea7c9005009a57e1d        1
  1162a89dd72840b19fbe9151c63a4eaa        0
  07638a97896744a190f8131c3ba063de        0
  b34f8d6d7402408c92c77ff93cdd7cf8        1
  f388839917ff4afa9338ef81c28aad75        0
  8b898d0c7c7e4be4aa8007b38ccc00ea        1
  3fb4be51aaaa4ac097af535301084b01        1
  </code></pre>
  
  <p>This seems to be inefficient, but further I have observed that these queues persist long after processing is finished.</p>
  
  <p>I have found the task that appears to be doing this:</p>
  
  <pre><code>@celery.task(ignore_result=True)
  def write_pages(page_generator):  
      g = group(render_page.s(page) for page in page_generator)
      res = g.apply_async()
  
      for rendered_page in res:
          print rendered_page # TODO: print to file
  </code></pre>
  
  <p>It seems that because these tasks are being called in a group, they are being thrown into the queue but never being released. However, I am clearly consuming the results (as I can view them being printed when I iterate through <code>res</code>. So, I do not understand why those tasks are persisting in the queue.</p>
  
  <p>Additionally, I am wondering if the large number queues that are being created is some indication that I am doing something wrong.</p>
  
  <p>Thanks for any help with this!</p>