Daemonizing celery with supervisor issues (Django Rest Framework)
I cannot seem to get celery working in production using supervisor. I am normally using it in local development running the command. However, when I make a supervisor setup, it is not working. Reading the logs I am getting the error:
Unable to load celery application. The module inp_proj was not found.
My .conf file for supervisor is:
[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
this is my celery.py file:
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()
It is located inside project directory and inside inp_proj.
I tried changing the celery command in the created config file, adding environment path to supervisor config file but nothing seems to be working. If I manually active the venv with
and then start the worker manually, it works normally. But when using supervisor, it doesn't work.