为什么会发生这种情况? 我的celery.py:
import os
from celery import Celery
from django.conf import settings
# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myshop.settings')
app = Celery('myshop')
app.config_from_object('django.conf:settings')
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
我的 init .py
# import celery
from .celery import app as celery_app
我甚至尝试将celery.py重命名为其他内容,但错误仍然存在。可能是因为我的python版本?
答案 0 :(得分:1)
我会发布回答,以便从评论中删除。
首先在你的__ init__.py文件中添加这一行
from __future__ import absolute_import, unicode_literals
其次,你需要添加到你的设置,关于brooker的信息。 这是一个示例配置文件,可帮助您入门。它应该包含运行基本Celery设置所需的一切。
broker_url = 'amqp://guest:guest@localhost:5672//'
接下来是你的芹菜工人。因此,如果芹菜应用程序名为myshop
,则必须通过键入以下简单命令来运行芹菜工作者(使用您的环境):
celery -A myshop worker -l info
然后尝试运行你的任务,一切都应该没问题。
答案 1 :(得分:0)
因为版本
你如何安装芹菜
pip install celery == 3.0.19
如果这个
然后通过
运行python
python manage.py runserver
或
pip3安装celery == 3.0.19
如果这个
然后通过
运行python
python3 manage.py runserver