Browse Source

Avoid circular import

Ask Solem 15 years ago
parent
commit
471de7acc9
3 changed files with 16 additions and 15 deletions
  1. 3 10
      celery/backends/__init__.py
  2. 9 0
      celery/conf.py
  3. 4 5
      celery/models.py

+ 3 - 10
celery/backends/__init__.py

@@ -1,15 +1,8 @@
 """celery.backends"""
 from functools import partial
-from celery.loaders import settings
+from celery import conf
 import sys
 
-DEFAULT_BACKEND = "database"
-DEFAULT_PERIODIC_STATUS_BACKEND = "database"
-CELERY_BACKEND = getattr(settings, "CELERY_BACKEND", DEFAULT_BACKEND)
-CELERY_PERIODIC_STATUS_BACKEND = getattr(settings,
-                                    "CELERY_PERIODIC_STATUS_BACKEND",
-                                    DEFAULT_PERIODIC_STATUS_BACKEND)
-
 
 def get_backend_cls(backend):
     """Get backend class by name.
@@ -31,7 +24,7 @@ def get_backend_cls(backend):
     Get the backend class specified in :setting:`CELERY_BACKEND`.
 
 """
-get_default_backend_cls = partial(get_backend_cls, CELERY_BACKEND)
+get_default_backend_cls = partial(get_backend_cls, conf.CELERY_BACKEND)
 
 
 """
@@ -42,7 +35,7 @@ get_default_backend_cls = partial(get_backend_cls, CELERY_BACKEND)
 
 """
 get_default_periodicstatus_backend_cls = partial(get_backend_cls,
-                                            CELERY_PERIODIC_STATUS_BACKEND)
+                                        conf.CELERY_PERIODIC_STATUS_BACKEND)
 
 
 """

+ 9 - 0
celery/conf.py

@@ -21,6 +21,9 @@ DEFAULT_TASK_RESULT_EXPIRES = timedelta(days=5)
 DEFAULT_AMQP_CONNECTION_RETRY = True
 DEFAULT_AMQP_CONNECTION_MAX_RETRIES = 100
 DEFAULT_TASK_SERIALIZER = "pickle"
+DEFAULT_BACKEND = "database"
+DEFAULT_PERIODIC_STATUS_BACKEND = "database"
+
 
 """
 .. data:: LOG_LEVELS
@@ -256,3 +259,9 @@ Default is ``pickle``.
 """
 TASK_SERIALIZER = getattr(settings, "CELERY_TASK_SERIALIZER",
                           DEFAULT_TASK_SERIALIZER)
+
+
+CELERY_BACKEND = getattr(settings, "CELERY_BACKEND", DEFAULT_BACKEND)
+CELERY_PERIODIC_STATUS_BACKEND = getattr(settings,
+                                    "CELERY_PERIODIC_STATUS_BACKEND",
+                                    DEFAULT_PERIODIC_STATUS_BACKEND)

+ 4 - 5
celery/models.py

@@ -8,8 +8,7 @@ from django.db import models
 from celery.registry import tasks
 from celery.managers import TaskManager, PeriodicTaskManager
 from celery.fields import PickledObjectField
-from celery.backends import (CELERY_BACKEND,
-                             CELERY_PERIODIC_STATUS_BACKEND)
+from celery import conf
 from django.utils.translation import ugettext_lazy as _
 from datetime import datetime
 
@@ -76,8 +75,8 @@ class PeriodicTaskMeta(models.Model):
 
 
 # keep models away from syncdb/reset if database backend is not being used.
-if (django.VERSION[0], django.VERSION[1]) >= (1,1):
-    if CELERY_BACKEND != 'database':
+if (django.VERSION[0], django.VERSION[1]) >= (1, 1):
+    if conf.CELERY_BACKEND != 'database':
         TaskMeta._meta.managed = False
-    if CELERY_PERIODIC_STATUS_BACKEND != 'database':
+    if conf.CELERY_PERIODIC_STATUS_BACKEND != 'database':
         PeriodicTaskMeta._meta.managed = False