如何在 Django 项目中启动 celery worker
How start start celery worker in Django project
我有一个 Django
项目,其目录结构如下所述。我正尝试在后台使用 Celery
执行 运行 任务。我在 运行 worker
时遇到了一些麻烦。每当我发出以下命令时,我都会收到错误消息。
命令
$ celery -A tasks worker --loglevel=info
来自 project
所在的 manage.py
目录
ModuleNotFoundError: No module named 'tasks'
来自 project
所在的 celery.py
目录
ModuleNotFoundError: No module named 'tasks'
来自 tasks.py
所在的 app
目录
AttributeError: module 'tasks' has no attribute 'celery'
项目结构
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
您应该使用项目名称来启动芹菜。由于您的 celery.py
位于 project
目录中,您需要从项目的根目录中 运行 以下内容:
celery -A project worker --loglevel=info
而不是
celery -A tasks worker --loglevel=info
检查例子here.
我有一个 Django
项目,其目录结构如下所述。我正尝试在后台使用 Celery
执行 运行 任务。我在 运行 worker
时遇到了一些麻烦。每当我发出以下命令时,我都会收到错误消息。
命令
$ celery -A tasks worker --loglevel=info
来自 project
所在的 manage.py
目录
ModuleNotFoundError: No module named 'tasks'
来自 project
所在的 celery.py
目录
ModuleNotFoundError: No module named 'tasks'
来自 tasks.py
所在的 app
目录
AttributeError: module 'tasks' has no attribute 'celery'
项目结构
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
您应该使用项目名称来启动芹菜。由于您的 celery.py
位于 project
目录中,您需要从项目的根目录中 运行 以下内容:
celery -A project worker --loglevel=info
而不是
celery -A tasks worker --loglevel=info
检查例子here.