我刚刚用RabbitMQ为Django项目安装和配置了Celery,当我像这样导入任务时遇到了运行任务的问题:
from someapp.tasks import SomeTask
当我添加项目名称时,它有效:
from myproject.someapp.tasks import SomeTask
我尝试将其添加到settings.py文件中,但它不会改变任何内容:
CELERY_IMPORTS = ("myproject.someapp.tasks",)
我很好将项目名称留在导入行,因为它有效,但我想知道是否有解决方法或为什么必须这样。
答案 0 :(得分:1)
可能是因为你有
INSTALLED_APPS = ("myproject.someapp", )
相反,您应该在Python路径中添加包含应用程序的目录(项目中的 这种情况),只需做
INSTALLED_APPS = ("someapp", )
恕我直言,无论如何这对“app”更有意义。