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: ОШИБКА / MainProcess] Получено незарегистрированное задание типа «reports.tasks.add». Сообщение было проигнорировано и отклонено.

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

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

Ответы на вопрос(1)

Ваш ответ на вопрос