Explorar o código

connection_diagnostics now supports carrot versions >= 0.4.0

Ask Solem %!s(int64=16) %!d(string=hai) anos
pai
achega
434a1350b1
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  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()