|
@@ -13,7 +13,7 @@ from importlib import import_module
|
|
|
|
|
|
from celery import _state
|
|
|
from celery import signals
|
|
|
-from celery.exceptions import FixupWarning
|
|
|
+from celery.exceptions import FixupWarning, ImproperlyConfigured
|
|
|
|
|
|
__all__ = ['DjangoFixup', 'fixup']
|
|
|
|
|
@@ -31,6 +31,11 @@ def _maybe_close_fd(fh):
|
|
|
pass
|
|
|
|
|
|
|
|
|
+def _verify_django_version(django):
|
|
|
+ if django.VERSION < (1, 8):
|
|
|
+ raise ImproperlyConfigured('Celery 4.x requires Django 1.8 or later.')
|
|
|
+
|
|
|
+
|
|
|
def fixup(app, env='DJANGO_SETTINGS_MODULE'):
|
|
|
"""Install Django fixup if settings module environment is set."""
|
|
|
SETTINGS_MODULE = os.environ.get(env)
|
|
@@ -40,6 +45,7 @@ def fixup(app, env='DJANGO_SETTINGS_MODULE'):
|
|
|
except ImportError:
|
|
|
warnings.warn(FixupWarning(ERR_NOT_INSTALLED))
|
|
|
else:
|
|
|
+ _verify_django_version(django)
|
|
|
return DjangoFixup(app).install()
|
|
|
|
|
|
|