"module not found" when running Celery with supervisor

494 Views Asked by At

I'm trying to run celery with django using supervisor.

supervisor_celery.conf

[program:supervisor-celery]
command=/home/user/project/virtualenvironment/bin/celery worker -A project --loglevel=INFO
directory=/home/user/project/project
user=nobody
numprocs=1
stdout_logfile=/home/user/project/logs/celery.log
stderr_logfile=/home/user/project/logs/celery.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 600
stopasgroup=true
priority=1000

on runing supervisor , i got following error in logs file:-

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

project structure is

project
|-project
   |-settings
       |-production.py
   |-__init__.py
   |-celery.py
   |-urls.py
   |-wsgi.py
|-app

The contents of __init__.py is:-

from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ('celery_app',)

The content of celery.py is

from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings.production')
app = Celery('project')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()

It would be helpful if anyone can tell me why it's not working?

1

There are 1 best solutions below

0
On BEST ANSWER

It seems that your directory wrong(in supervisor conf), it should be

directory=/home/user/project