Ask Solem 12 роки тому
батько
коміт
612848ed24

+ 2 - 2
celery/tests/bin/test_celeryd.py

@@ -165,8 +165,8 @@ class test_Worker(AppCase):
         worker.autoscale = 13, 10
         worker.autoscale = 13, 10
         self.assertTrue(worker.startup_info())
         self.assertTrue(worker.startup_info())
 
 
-        worker = self.Worker(queues='foo,bar,baz,xuzzy,do,re,mi')
-        app = worker.app
+        app = Celery(set_as_current=False)
+        worker = self.Worker(app=app, queues='foo,bar,baz,xuzzy,do,re,mi')
         prev, app.loader = app.loader, Mock()
         prev, app.loader = app.loader, Mock()
         try:
         try:
             app.loader.__module__ = 'acme.baked_beans'
             app.loader.__module__ = 'acme.baked_beans'

+ 3 - 6
celery/tests/events/test_events.py

@@ -151,12 +151,9 @@ class test_EventReceiver(AppCase):
         connection = Mock()
         connection = Mock()
         connection.transport_cls = 'memory'
         connection.transport_cls = 'memory'
         r = events.EventReceiver(connection, node_id='celery.tests')
         r = events.EventReceiver(connection, node_id='celery.tests')
-        events.EventReceiver.handlers['*'] = my_handler
-        try:
-            r._receive(message, object())
-            self.assertTrue(got_event[0])
-        finally:
-            events.EventReceiver.handlers = {}
+        r.handlers['*'] = my_handler
+        r._receive(message, object())
+        self.assertTrue(got_event[0])
 
 
     def test_itercapture(self):
     def test_itercapture(self):
         connection = self.app.connection()
         connection = self.app.connection()

+ 11 - 5
celery/tests/worker/test_worker.py

@@ -22,7 +22,8 @@ from celery.exceptions import SystemTerminate
 from celery.task import task as task_dec
 from celery.task import task as task_dec
 from celery.task import periodic_task as periodic_task_dec
 from celery.task import periodic_task as periodic_task_dec
 from celery.utils import uuid
 from celery.utils import uuid
-from celery.worker import WorkController, Queues, Timers, EvLoop, Pool
+from celery.worker import WorkController
+from celery.worker.components import Queues, Timers, EvLoop, Pool
 from celery.worker.buckets import FastQueue
 from celery.worker.buckets import FastQueue
 from celery.worker.job import Request
 from celery.worker.job import Request
 from celery.worker.consumer import BlockingConsumer
 from celery.worker.consumer import BlockingConsumer
@@ -752,12 +753,17 @@ class test_WorkController(AppCase):
     def setup(self):
     def setup(self):
         self.worker = self.create_worker()
         self.worker = self.create_worker()
         from celery import worker
         from celery import worker
+        from celery.worker import components
         self._logger = worker.logger
         self._logger = worker.logger
+        self._comp_logger = components.logger
         self.logger = worker.logger = Mock()
         self.logger = worker.logger = Mock()
+        self.comp_logger = components.logger = Mock()
 
 
     def teardown(self):
     def teardown(self):
         from celery import worker
         from celery import worker
+        from celery.worker import components
         worker.logger = self._logger
         worker.logger = self._logger
+        components.logger = self._comp_logger
 
 
     def create_worker(self, **kw):
     def create_worker(self, **kw):
         worker = self.app.WorkController(concurrency=1, loglevel=0, **kw)
         worker = self.app.WorkController(concurrency=1, loglevel=0, **kw)
@@ -851,14 +857,14 @@ class test_WorkController(AppCase):
             raise KeyError('foo')
             raise KeyError('foo')
         except KeyError as exc:
         except KeyError as exc:
             Timers(worker).on_timer_error(exc)
             Timers(worker).on_timer_error(exc)
-            msg, args = self.logger.error.call_args[0]
+            msg, args = self.comp_logger.error.call_args[0]
             self.assertIn('KeyError', msg % args)
             self.assertIn('KeyError', msg % args)
 
 
     def test_on_timer_tick(self):
     def test_on_timer_tick(self):
         worker = WorkController(concurrency=1, loglevel=10)
         worker = WorkController(concurrency=1, loglevel=10)
 
 
         Timers(worker).on_timer_tick(30.0)
         Timers(worker).on_timer_tick(30.0)
-        xargs = self.logger.debug.call_args[0]
+        xargs = self.comp_logger.debug.call_args[0]
         fmt, arg = xargs[0], xargs[1]
         fmt, arg = xargs[0], xargs[1]
         self.assertEqual(30.0, arg)
         self.assertEqual(30.0, arg)
         self.assertIn('Next eta %s secs', fmt)
         self.assertIn('Next eta %s secs', fmt)
@@ -959,11 +965,11 @@ class test_WorkController(AppCase):
 
 
     def test_process_task_sem(self):
     def test_process_task_sem(self):
         worker = self.worker
         worker = self.worker
-        worker.semaphore = Mock()
+        worker._quick_acquire = Mock()
 
 
         req = Mock()
         req = Mock()
         worker.process_task_sem(req)
         worker.process_task_sem(req)
-        worker.semaphore.acquire.assert_called_with(worker.process_task, req)
+        worker._quick_acquire.assert_called_with(worker.process_task, req)
 
 
     def test_signal_consumer_close(self):
     def test_signal_consumer_close(self):
         worker = self.worker
         worker = self.worker

+ 1 - 0
celery/utils/log.py

@@ -56,6 +56,7 @@ def get_logger(name):
         l.parent = base_logger
         l.parent = base_logger
     return l
     return l
 task_logger = get_logger('celery.task')
 task_logger = get_logger('celery.task')
+worker_logger = get_logger('celery.worker')
 
 
 
 
 def get_task_logger(name):
 def get_task_logger(name):

+ 1 - 3
celery/worker/__init__.py

@@ -32,7 +32,7 @@ from celery.exceptions import (
 from celery.task import trace
 from celery.task import trace
 from celery.utils import worker_direct
 from celery.utils import worker_direct
 from celery.utils.imports import qualname, reload_from_cwd
 from celery.utils.imports import qualname, reload_from_cwd
-from celery.utils.log import get_logger, mlevel
+from celery.utils.log import mlevel, worker_logger as logger
 
 
 from . import bootsteps
 from . import bootsteps
 from . import state
 from . import state
@@ -55,8 +55,6 @@ If you want to automatically declare unknown queues you can
 enable the CELERY_CREATE_MISSING_QUEUES setting.
 enable the CELERY_CREATE_MISSING_QUEUES setting.
 """
 """
 
 
-logger = get_logger(__name__)
-
 
 
 class Namespace(bootsteps.Namespace):
 class Namespace(bootsteps.Namespace):
     """This is the boot-step namespace of the :class:`WorkController`.
     """This is the boot-step namespace of the :class:`WorkController`.

+ 1 - 2
celery/worker/components.py

@@ -15,14 +15,13 @@ from functools import partial
 
 
 from billiard.exceptions import WorkerLostError
 from billiard.exceptions import WorkerLostError
 
 
-from celery.utils.log import get_logger
+from celery.utils.log import worker_logger as logger
 from celery.utils.timer2 import Schedule
 from celery.utils.timer2 import Schedule
 
 
 from . import bootsteps
 from . import bootsteps
 from .buckets import TaskBucket, FastQueue
 from .buckets import TaskBucket, FastQueue
 from .hub import Hub, BoundedSemaphore
 from .hub import Hub, BoundedSemaphore
 
 
-logger = get_logger(__name__)
 
 
 
 
 class Pool(bootsteps.StartStopComponent):
 class Pool(bootsteps.StartStopComponent):