Question

I just installed and configured Celery with RabbitMQ for a Django project and I was having an issue running tasks when I imported them like so:

from someapp.tasks import SomeTask

It worked when I added the project name:

from myproject.someapp.tasks import SomeTask

I tried adding this into the settings.py file but it doesn't change anything:

CELERY_IMPORTS = ("myproject.someapp.tasks",)

I'm fine with leaving the project name on the import line since it works but I'd like to know if there's a way around it or why it has to be that way.

Was it helpful?

Solution

It's probably because you have

INSTALLED_APPS = ("myproject.someapp", )

Instead you should add the directory containing the apps on the Python path (the project in this case), and simply do

INSTALLED_APPS = ("someapp", )

IMHO this makes more sense for an "app" anyway.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top