我是第一次使用Django-Celery . 当我尝试运行以下命令时:
celery -A MyProject worker -l info
我收到此错误消息:
ImportError: No module named MyProject
MyProject / MyProject / init .py:
from __future__ import absolute_import, unicode_literals
from .celery import app as celery_app
__all__ = ['celery_app']
MyProject的/ MyProject的/ celery.py:
from __future__ import absolute_import
import os
import sys
from celery import Celery
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyProject.settings')
app = Celery('MyProject')
app.config_from_object('django.conf:settings', namespace='CELERY')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyProject.settings')
sys.path.insert(0,os.path.abspath(os.path.join(os.path.dirname(__file__),'../MyProject')))
app.autodiscover_tasks()
MyProject的/ MyProject的/ settings.py;我在下面列出了这一行:
CELERY_BROKER_URL = 'amqp://localhost'
我的Django项目结构如下所示:
-
Myproject
-
Myproject
-
init .py
-
celery.py
-
settings.py
-
urls.py
-
wsgi.py
-
Myapp
-
迁移/
-
templates /
-
init .py
-
admin.py
-
apps.py
-
forms.py
-
models.py
-
tasks.py
-
tests.py
-
urls.py
-
views.py
-
db.sqlite3
-
manage.py