From 324785ea7719148aa39b351e427e68b1ab78ef93 Mon Sep 17 00:00:00 2001 From: Martin Diers Date: Wed, 15 Jul 2015 11:48:48 -0500 Subject: [PATCH] I do not like the fact that the Celery app config hardcodes a settings module. This makes it necessary to edit `taskapp/celery.py` after deployment, which is not ideal. This moves the choice of a settings module to config/celery_config.py, where it belongs. --- {{cookiecutter.repo_name}}/config/celery_config.py | 4 ++++ .../{{cookiecutter.repo_name}}/taskapp/celery.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 {{cookiecutter.repo_name}}/config/celery_config.py diff --git a/{{cookiecutter.repo_name}}/config/celery_config.py b/{{cookiecutter.repo_name}}/config/celery_config.py new file mode 100644 index 000000000..f0eb6a089 --- /dev/null +++ b/{{cookiecutter.repo_name}}/config/celery_config.py @@ -0,0 +1,4 @@ +# This tells Celery which Django settings module it should use. +# This decouples the taskapp configuration from a specific instance of the project. + +DJANGO_SETTINGS_MODULE = 'config.settings.local' diff --git a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/taskapp/celery.py b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/taskapp/celery.py index 33cda5c62..43c859f47 100644 --- a/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/taskapp/celery.py +++ b/{{cookiecutter.repo_name}}/{{cookiecutter.repo_name}}/taskapp/celery.py @@ -4,10 +4,11 @@ import os from celery import Celery from django.apps import AppConfig from django.conf import settings +from config import celery_config if not settings.configured: # set the default Django settings module for the 'celery' program. - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") + os.environ.setdefault("DJANGO_SETTINGS_MODULE", celery_config.DJANGO_SETTINGS_MODULE) app = Celery('{{cookiecutter.repo_name}}')