Просмотр исходного кода

keep models away from syncdb/reset if database backend is not being used.

abecciu 16 лет назад
Родитель
Сommit
cba1b6fe21
1 измененных файлов с 12 добавлено и 0 удалено
  1. 12 0
      celery/models.py

+ 12 - 0
celery/models.py

@@ -3,10 +3,13 @@
 Django Models.
 Django Models.
 
 
 """
 """
+import django
 from django.db import models
 from django.db import models
 from celery.registry import tasks
 from celery.registry import tasks
 from celery.managers import TaskManager, PeriodicTaskManager
 from celery.managers import TaskManager, PeriodicTaskManager
 from celery.fields import PickledObjectField
 from celery.fields import PickledObjectField
+from celery.backends import (CELERY_BACKEND,
+                             CELERY_PERIODIC_STATUS_BACKEND)
 from django.utils.translation import ugettext_lazy as _
 from django.utils.translation import ugettext_lazy as _
 from datetime import datetime
 from datetime import datetime
 
 
@@ -69,3 +72,12 @@ class PeriodicTaskMeta(models.Model):
     def task(self):
     def task(self):
         """The entry registered in the task registry for this task."""
         """The entry registered in the task registry for this task."""
         return tasks[self.name]
         return tasks[self.name]
+
+
+
+# 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':
+        TaskMeta._meta.managed = False
+    if CELERY_PERIODIC_STATUS_BACKEND != 'database':
+        PeriodicTaskMeta._meta.managed = False