Browse Source

connection_diagnostics now supports carrot versions >= 0.4.0

Ask Solem 16 years ago
parent
commit
434a1350b1
1 changed files with 6 additions and 1 deletions
  1. 6 1
      celery/worker.py

+ 6 - 1
celery/worker.py

@@ -250,7 +250,12 @@ class TaskDaemon(object):
     def connection_diagnostics(self):
         """Diagnose the AMQP connection, and reset connection if
         necessary."""
-        if not self.task_consumer.channel.connection:
+        if hasattr(self.task_consumer.backend):
+            connection = self.task_consumer.backend.channel.connection
+        else:
+            connection = self.task_consumer.channel.connection
+
+        if not connection:
             self.logger.info(
                     "AMQP Connection has died, restoring connection.")
             self.reset_connection()