diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py index 5bb386d4412792d1f7136f8f94970e6fe209ba53..f9e30f406b68d6c26c825184b9b6e6b7793b08c7 100644 --- a/aleksis/core/settings.py +++ b/aleksis/core/settings.py @@ -50,7 +50,6 @@ INSTALLED_APPS = [ "django.contrib.messages", "django.contrib.staticfiles", "django_global_request", - "django_celery_beat", "settings_context_processor", "sass_processor", "easyaudit", @@ -369,9 +368,12 @@ if _settings.get("2fa.twilio.sid", None): TWILIO_TOKEN = _settings.get("2fa.twilio.token") TWILIO_CALLER_ID = _settings.get("2fa.twilio.callerid") -CELERY_RESULT_BACKEND = "django-db" -CELERY_CACHE_BACKEND = "django-cache" -CELERY_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" + +if _settings.get("celery.enabled", False): + INSTALLED_APPS += ("django_celery_beat",) + CELERY_RESULT_BACKEND = "django-db" + CELERY_CACHE_BACKEND = "django-cache" + CELERY_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" if _settings.get("celery.email", False): INSTALLED_APPS += ("djcelery_email",) diff --git a/pyproject.toml b/pyproject.toml index f1459a6713be76efcaef2db1507ae909ece5ed67..51f0c074dcb8f63f187a070af0955c192dc2efbf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -57,13 +57,14 @@ django-templated-email = "^2.3.0" html2text = "^2019.9.26" django-ckeditor = "^5.8.0" django-js-reverse = "^0.9.1" -Celery = "^4.4.0" -django-celery-results = "^1.1.2" -django-celery-beat = "^1.5.0" -django-celery-email = "^3.0.0" +Celery = {version="^4.4.0", optional=true} +django-celery-results = {version="^1.1.2", optional=true} +django-celery-beat = {version="^1.5.0", optional=true} +django-celery-email = {version="^3.0.0", optional=true} [tool.poetry.extras] ldap = ["django-auth-ldap"] +celery = ["Celery", "django-celery-results", "django-celery-beat", "django-celery-email"] [tool.poetry.dev-dependencies] sphinx = "^2.1"