У меня есть один бэкэнд для django для нескольких сайтов клиентов:
my_proj
|- my_proj
|- __init__.py
|- settings.py
|- settings_development.py
|- settings_production_1.py
|- settings_production_2.py
|- settings_production_3.py
|- my_app_1
|- my_app_2
...
settings_production_1.py:
from settings import *
DEBUG = False
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'customer_1_db',
'USER': 'some_user',
'PASSWORD': 'some_passw',
'HOST': '127.0.0.1',
'PORT': '',
}
}
MEDIA_ROOT = 'media/customer_1'
Каждый сайт - это отдельный процесс, управляемый супервизором и использующий отдельную базу данных. Также у меня есть redis на отдельном сервере.
Мне нужны некоторые фоновые задачи сельдерея с доступом к базе данных.
Как я могу это сделать?
UPDATE
Хорошо, я могу запустить несколько рабочих из сельдерея. Я могу сделать это с консоли
$ export DJANGO_SETTINGS_MODULE=my_proj.settings_production_2
$ /home/.../my_vitrual_env/bin/celery -A my_proj worker -l info
Но я не могу запустить его от супервизора
[program:celery2]
directory=/home/.../my_proj
command=/home/.../my_vitrual_env/bin/celery -A asl worker -l info
environment=DJANGO_SETTINGS_MODULE=my_proj.settings_production_2
...