Browse Source

[consumer] Event dispatcher not properly initialized

Ask Solem 12 years ago
parent
commit
83dafc958a
2 changed files with 3 additions and 5 deletions
  1. 1 1
      celery/bin/celeryev.py
  2. 2 4
      celery/worker/consumer.py

+ 1 - 1
celery/bin/celeryev.py

@@ -113,7 +113,7 @@ class EvCommand(Command):
                 Option('-r', '--maxrate'),
                 Option('-l', '--loglevel', default='INFO'))
             + daemon_options(default_pidfile='celeryev.pid')
-            + self.app.user_options['events']
+            + tuple(self.app.user_options['events'])
         )
 
 

+ 2 - 4
celery/worker/consumer.py

@@ -165,7 +165,7 @@ class Consumer(object):
 
         self.steps = []
         self.namespace = self.Namespace(
-            app=self.app, on_start=self.on_start, on_close=self.on_close,
+            app=self.app, on_close=self.on_close,
         )
         self.namespace.apply(self, **worker_options or {})
 
@@ -187,9 +187,6 @@ class Consumer(object):
     def stop(self):
         self.namespace.stop(self)
 
-    def on_start(self):
-        self.update_strategies()
-
     def on_ready(self):
         callback, self.init_callback = self.init_callback, None
         if callback:
@@ -438,6 +435,7 @@ class Tasks(bootsteps.StartStopStep):
         self.initial_prefetch_count = initial_prefetch_count
 
     def start(self, c):
+        c.update_strategies()
         c.task_consumer = c.app.amqp.TaskConsumer(
             c.connection, on_decode_error=c.on_decode_error,
         )