我正在尝试用 Tjango 从 tuts 中设置芹菜,但我不断得到
ModuleNotFoundError: No module named 'celery'
我有一个名为任务列表的主项目,其结构为:
- Tasklist/
- manage.py
- Tasklist/
- __init__.py
- settings.py
- celery.py
- urls.py
我的初始化.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
app = Celery('')
@app.task(bind=True)
def debug_task(self):
print('Request: {0!r}'.format(self.request))
我不确定我是否需要更改 settings.py - 但我在本地环境中运行,所以我不需要启动芹菜工人?我很困惑!
我读到django-celery是多余的,现在最新版本的芹菜在这里,所以我只安装了芹菜4.1.1。
步骤:
- 如果芹菜安装在虚拟环境上,激活虚拟环境
- 导航到路径:
/path/to/Tasklist/
(到应用名称级别( - 运行
celery -A Tasklist worker -l info
-A 表示应用名称。
芹菜设置和安装:官方文档
在 Settings.py 可以管理"以下"设置。
BROKER_URL = 'redis://localhost:6379/0'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'