Почему я должен указывать имя проекта при импорте задач при использовании Django с Celery? - PullRequest
1 голос
/ 06 октября 2010

Я только что установил и настроил Celery с RabbitMQ для проекта Django, и у меня возникла проблема с запуском заданий, когда я импортировал их следующим образом:

from someapp.tasks import SomeTask

Это сработало, когда я добавил название проекта:

from myproject.someapp.tasks import SomeTask

Я пытался добавить это в файл settings.py, но это ничего не меняет:

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

Я в порядке, оставив название проекта в строке импорта, так как оно работает, но я хотел бы знать, есть ли способ обойти это или почему оно должно быть таким.

1 Ответ

1 голос
/ 07 октября 2010

Это, вероятно, потому что у вас есть

INSTALLED_APPS = ("myproject.someapp", )

Вместо этого вы должны добавить каталог, содержащий приложения, в путь Python (проект в данном случае), и просто сделать

INSTALLED_APPS = ("someapp", )

ИМХО, в любом случае, это имеет смысл для "приложения".

...