Daemonizing celery с проблемами супервизора (Django Rest Framework)

Я не могу заставить celery работать в production с помощью supervisor. Обычно я использую его в локальной разработке, выполняя команду. Однако, когда я делаю настройку supervisor, он не работает. Читая журналы регистрации, я получаю ошибку:

Unable to load celery application.
The module inp_proj was not found.

Мой файл .conf для супервизора имеет следующий вид:

[program:inp_proj]

directory=/www/[project_directory]/inp_proj
command=/www/[project_directory]/venv/bin/celery -A inp_proj worker --loglevel=INFO

user=jan
numprocs=1

stdout_logfile=/var/log/celery/inp_proj.log
stderr_logfile=/var/log/celery/inp_proj.log

autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
killasgroup=true
priority=998

вот мой файл celery.py:

import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'inp_proj.settings')
app = Celery('inp_proj')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

Он находится внутри каталога проекта и внутри inp_proj.

Я пытался изменить команду celery в созданном конфигурационном файле, добавить путь к окружению в конфигурационный файл супервизора, но, похоже, ничего не работает. Если я вручную активирую venv с помощью

source venv/bin/activate

и затем запустить рабочего вручную, он работает нормально. Но когда используется супервизор, он не работает.

Вернуться на верх