ask/kombu — pull request #113 by stephrdev (2012-03-21 10:06:58+00:00)
Title: Redis transport should raise an error if no queues/the queues key is available

I found this problem while debugging an weird behaviour of celeryd. The worker stopped to process tasks from time to time and I had to restart the worker to get tasks done again.

After a while I found out that there is a "_kombu.binding.celery" key which stores all available queues in my broker (redis). If the key gets deleted (e.g. by max-memory-policies of redis), kombu silently fails to submit the task to the broker.

This change will raise an assertion error, if the queues list/output of the get_table method of the redis transport has no entries. This list should have at least have one entry all the time.

If you have any questions write to the comments here or ping me on irc, I'm around in the #celery channel as "steph".

Cheers, Steph