1

我正在尝试使用主管用 django 运行 celery。

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

如果有人能告诉我为什么它不起作用,那会很有帮助?

4

1 回答 1

2

看来您的目录错误(在supervisor conf中),应该是

directory=/home/user/project
于 2020-04-17T20:06:48.583 回答