Как начать заводить сельдерея в Джанго - PullRequest
0 голосов
/ 23 мая 2018

У меня есть Django проект со структурой каталогов, упомянутой ниже.Я пытаюсь использовать Celery для запуска задач в фоновом режиме.Я столкнулся с некоторыми проблемами во время работы worker.Всякий раз, когда я выполняю следующую команду, я получаю сообщение об ошибке.

Команда

$ celery -A tasks worker --loglevel=info 

Из каталога project, в котором находится manage.py

ModuleNotFoundError: нет модуля с именем 'tasks'

Из каталога project, в котором находится celery.py

ModuleNotFoundError: Нет модуля с именем 'tasks'

Из каталога app, в котором находится tasks.py,

AttributeError: модуль 'tasks' не имеет атрибута 'celery'

Структура проекта

project
    |-- app
         |-- admin.py
         |-- apps.py
         |-- __init__.py
         |-- models.py
         |-- tasks.py
         |-- tests.py
         |-- urls.py
         |-- views.py
    |-- project
            |-- celery.py
            |-- settings.py
            |-- __init__.py
            |-- urls.py
            |-- wsgi.py
    |-- manage.py

1 Ответ

0 голосов
/ 23 мая 2018

Вы должны использовать имя проекта, чтобы начать сельдерей.Поскольку ваш celery.py находится в каталоге project, вам нужно запустить из корневого каталога проекта следующее:

celery -A project worker --loglevel=info 

Вместо

celery -A tasks worker --loglevel=info 

Проверьте пример здесь .

...