Browse Source

Bug in previous commit if consumer is None

Ask Solem 14 years ago
parent
commit
be01033687
1 changed files with 14 additions and 15 deletions
  1. 14 15
      celery/worker/listener.py

+ 14 - 15
celery/worker/listener.py

@@ -312,22 +312,22 @@ class CarrotListener(object):
              the message was: %s" % message_data))
         message.ack()
 
-    def maybe_conn_error(self, predicate, fun):
-        if predicate:
-            try:
-                fun()
-            except Exception: # TODO kombu.connection_errors
-                pass
+    def maybe_conn_error(self, fun):
+        try:
+            fun()
+        except Exception: # TODO kombu.connection_errors
+            pass
 
     def close_connection(self):
         self.logger.debug("CarrotListener: "
                           "Closing consumer channel...")
-        self.task_consumer = self.maybe_conn_error(self.task_consumer,
-                                                   self.task_consumer.close)
+        if self.task_consumer:
+            self.task_consumer = \
+                    self.maybe_conn_error(self.task_consumer.close)
         self.logger.debug("CarrotListener: "
                           "Closing connection to broker...")
-        self.connection = self.maybe_conn_error(self.connection,
-                                                self.connection.close)
+        if self.connection:
+            self.connection = self.maybe_conn_error(self.connection.close)
 
     def stop_consumers(self, close=True):
         """Stop consuming."""
@@ -340,14 +340,13 @@ class CarrotListener(object):
             self.heart = self.heart.stop()
 
         self.logger.debug("TaskConsumer: Cancelling consumers...")
-        self.maybe_conn_error(self.task_consumer,
-                              self.task_consumer.cancel)
+        if self.task_consumer:
+            self.maybe_conn_error(self.task_consumer.cancel)
 
         if self.event_dispatcher:
             self.logger.debug("EventDispatcher: Shutting down...")
-            self.event_dispatcher = self.maybe_conn_error(
-                                            self.event_dispatcher,
-                                            self.event_dispatcher.close)
+            self.event_dispatcher = \
+                    self.maybe_conn_error(self.event_dispatcher.close)
 
         if close:
             self.close_connection()