Celery错误:没有模块名称[django应用程序名称] - 检查了芹菜文件是否正确但仍然出现问题?

时间:2016-11-17 18:55:48

标签: python django celery

当我在终端中运行celery -A uno worker -l info时,我收到错误

File "/usr/lib/python2.7/importlib/__init__.py", line 37, in   import_module
__import__(name)
ImportError: No module named uno

这是我的celery.py,它位于django settings.py文件所在的uno应用程序中。

from __future__ import absolute_import
import os

from celery import Celery
from django.conf import settings

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'uno.settings')
app = Celery('uno')

# This reads, e.g., CELERY_ACCEPT_CONTENT = ['json'] from settings.py:
app.config_from_object('django.conf:settings')

# For autodiscover_tasks to work, you must define your tasks in a file    called 'tasks.py'.
app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)

@app.task(bind=True)
    def debug_task(self):
    print("Request: {0!r}".format(self.request))

我正在使用Ubuntu但在Mac上遇到相同的错误。 我通过pip在virtualenv

中安装芹菜

我不确定这里有什么问题或错过了什么。 如果我在不同的项目中使用相同的芹菜文件,请将其命名为例如app = Celery('faketest') 。我不确定这个应用程序出了什么问题。也许是因为我之后更改了应用名称。我真的很难过......

非常感谢。

1 个答案:

答案 0 :(得分:0)

我只是想说,如果你已经正确命名了所有内容并且你仍然找不到模块错误(我花了好几个小时试图解决这个问题)...那么你必须放置命令“celery -A proj worker - l应用程序分支上方的信息

“celery程序可以用来启动worker(你需要在proj上面的目录中运行worker):”按照文档