我有一个Django
项目,其目录结构如下所述。我正在尝试使用Celery
在后台运行任务。我在运行worker
时遇到了一些麻烦。每当我发出以下命令时,都会出错。
命令
$ celery -A tasks worker --loglevel=info
来自project
所在的manage.py
目录
ModuleNotFoundError:没有名为' tasks'
的模块
来自project
所在的celery.py
目录
ModuleNotFoundError:没有名为' tasks'
的模块
来自app
所在的tasks.py
目录
AttributeError:模块'任务'没有属性'芹菜'
项目结构
project
|-- app
|-- admin.py
|-- apps.py
|-- __init__.py
|-- models.py
|-- tasks.py
|-- tests.py
|-- urls.py
|-- views.py
|-- project
|-- celery.py
|-- settings.py
|-- __init__.py
|-- urls.py
|-- wsgi.py
|-- manage.py
答案 0 :(得分:3)
您应该使用项目名称来启动芹菜。由于您的celery.py
位于project
目录中,因此需要从项目的根目录开始运行:
celery -A project worker --loglevel=info
而不是
celery -A tasks worker --loglevel=info
检查示例here。