Django Celery Получил незарегистрированную задачу типа 'appname.tasks.add'

После документации и проекта Demo Django здесь https://github.com/celery/celery/tree/3.1/examples/django

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

piesup2 | piesup2 | |__init__.py | |celery.py | |settings.py | |urls.py reports |tasks.py |models.py |etc.... 

Мой код

piesup2/celery.py

 from __future__ import absolute_import import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'piesup2.settings') from django.conf import settings # noqa app = Celery('piesup2') # Using a string here means the worker will not have to # pickle the object when using Windows. app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request)) 

piesup2/__init__.py

 from __future__ import absolute_import # This will make sure the app is always imported when # Django starts so that shared_task will use this app. from .celery import app as celery_app # noqa 

piesup2/reports/tasks.py

 from __future__ import absolute_import from celery import shared_task @shared_task def add(x, y): return x + y 

После запуска Celery из командной строки:

 celery -A piesup2 worker -l info 

Когда я пытаюсь запустить задачу из моего файла models.py, например:

  def do_stuff(self): from reports.tasks import add number = add.delay(2, 2) print(number) 

Я получаю следующую ошибку:

[2016-08-05 16: 50: 31,625: ERROR / MainProcess] Получена незарегистрированная задача типа «reports.tasks.add». Сообщение было проигнорировано и отброшено.

Помните ли вы импортировать модуль, содержащий эту задачу? Или, может быть, вы используете относительный импорт? Дополнительную информацию см. По адресу http://docs.celeryq.org/en/latest/userguide/tasks.html#task-names .

Полное содержимое тела сообщения было: {'callbacks': None, 'retries': 0, 'chord': None, 'errbacks': None, 'task': 'reports.tasks.add', 'args': [2, 2], «timelimit»: [None, None], «kwargs»: {}, 'id': 'b12eb387-cf8c-483d-b53e-f9ce0ad6b421', 'taskset': None, 'eta': None , 'expires': None, 'utc': True} (258b) Traceback (последний последний вызов): Файл "/home/jwe/piesup2/venv/lib/python3.4/site-packages/celery/worker/consumer .py ", строка 456, в on_task_received стратегии [имя] (сообщение, тело, KeyError: 'reports.tasks.add'