From 1e93d970ece67cf022da7082692cfd883f63a9af Mon Sep 17 00:00:00 2001 From: Hironsan Date: Wed, 31 Mar 2021 15:26:39 +0900 Subject: [PATCH] Add celery settings --- app/app/__init__.py | 3 +++ app/app/celery.py | 11 +++++++++++ app/app/settings.py | 19 ++++++++++++++++++- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 app/app/celery.py diff --git a/app/app/__init__.py b/app/app/__init__.py index e69de29b..fb989c4e 100644 --- a/app/app/__init__.py +++ b/app/app/__init__.py @@ -0,0 +1,3 @@ +from .celery import app as celery_app + +__all__ = ('celery_app',) diff --git a/app/app/celery.py b/app/app/celery.py new file mode 100644 index 00000000..b5d0ab0a --- /dev/null +++ b/app/app/celery.py @@ -0,0 +1,11 @@ +import os + +from celery import Celery + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'app.settings') + +app = Celery('app') + +app.config_from_object('django.conf:settings', namespace='CELERY') + +app.autodiscover_tasks() diff --git a/app/app/settings.py b/app/app/settings.py index af98287f..bfe257ba 100644 --- a/app/app/settings.py +++ b/app/app/settings.py @@ -15,7 +15,7 @@ import sys from os import path import dj_database_url -from environs import Env +from environs import Env, EnvError from furl import furl @@ -61,6 +61,7 @@ INSTALLED_APPS = [ 'corsheaders', 'drf_yasg', 'dj_rest_auth', + 'django_celery_results', 'django_drf_filepond' ] @@ -338,5 +339,21 @@ if DEBUG: 'http://localhost:3000' ) +# Filepond settings. DJANGO_DRF_FILEPOND_UPLOAD_TMP = path.join(BASE_DIR, 'filepond-temp-uploads') DJANGO_DRF_FILEPOND_FILE_STORE_PATH = path.join(BASE_DIR, 'filepond_uploads') + + +# Celery settings +DJANGO_CELERY_RESULTS_TASK_ID_MAX_LENGTH = 191 +CELERY_RESULT_BACKEND = 'django-db' +try: + CELERY_BROKER_URL = env('CELERY_BROKER_URL') +except EnvError: + try: + CELERY_BROKER_URL = 'sqla+{}'.format(env('DATABASE_URL')) + except EnvError: + CELERY_BROKER_URL = 'sqla+sqlite:///{}'.format(DATABASES['default']['NAME']) +CELERY_ACCEPT_CONTENT = ['application/json'] +CELERY_TASK_SERIALIZER = 'json' +CELERY_RESULT_SERIALIZER = 'json'