Browse Source

Multi + Default app should not load the Django fixup

Ask Solem 11 years ago
parent
commit
0f81f15bee
3 changed files with 5 additions and 3 deletions
  1. 1 0
      celery/_state.py
  2. 3 2
      celery/app/base.py
  3. 1 1
      celery/bin/base.py

+ 1 - 0
celery/_state.py

@@ -87,6 +87,7 @@ def _get_current_app():
         set_default_app(Celery(
             'default',
             loader=os.environ.get('CELERY_LOADER') or 'default',
+            fixups=[],
             set_as_current=False, accept_magic_kwargs=True,
         ))
     return _tls.current_app or default_app

+ 3 - 2
celery/app/base.py

@@ -85,6 +85,7 @@ class Celery(object):
     task_cls = 'celery.app.task:Task'
     registry_cls = TaskRegistry
     _pool = None
+    builtin_fixups = BUILTIN_FIXUPS
 
     def __init__(self, main=None, loader=None, backend=None,
                  amqp=None, events=None, log=None, control=None,
@@ -131,8 +132,8 @@ class Celery(object):
             self._preconf['CELERY_IMPORTS'] = include
 
         # Apply fixups.
-        self.fixups = set(fixups or ())
-        for fixup in self.fixups | BUILTIN_FIXUPS:
+        self.fixups = set(self.builtin_fixups) if fixups is None else fixups
+        for fixup in self.fixups:
             symbol_by_name(fixup)(self)
 
         if self.set_as_current:

+ 1 - 1
celery/bin/base.py

@@ -431,7 +431,7 @@ class Command(object):
             if self.enable_config_from_cmdline:
                 argv = self.process_cmdline_config(argv)
         else:
-            self.app = Celery()
+            self.app = Celery(fixups=[])
 
         user_preload = tuple(self.app.user_options['preload'] or ())
         if user_preload: