"модуль не найден" при запуске Celery с супервизором - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь запустить сельдерей с django с помощью супервизора.

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

при запуске супервизора, я получил следующую ошибку в файле журнала: -

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

структура проекта

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

Содержимое __init__.py: -

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

Содержимое celery.py равно

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()

Было бы полезно, если кто-нибудь скажет мне, почему он не работает?

1 Ответ

1 голос
/ 17 апреля 2020

Похоже, что ваш каталог неправильный (в conf супервизора), он должен быть

directory=/home/user/project
...