Django Sellerie Erhalten unregistrierte Aufgabe des Typs " appname.Aufgaben.hinzufügen'

Folgenden die Dokumentation und die Demo-Django-Projekt hier https://github.com/celery/celery/tree/3.1/examples/django

Projektstruktur

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

Mein Code

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

Nach dem Start Sellerie von der Befehlszeile aus mit:

celery -A piesup2 worker -l info

Beim Versuch zum ausführen einer Aufgabe aus meiner models.py Datei wie folgt:

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

Bekomme ich die folgende Fehlermeldung:

[2016-08-05 16:50:31,625: FEHLER/MainProcess] Erhalten unregistrierte
Aufgabe des Typs " berichten.Aufgaben.hinzufügen'. Die Nachricht wurde ignoriert und
verworfen.

Haben Sie daran gedacht, importieren Sie das Modul mit dieser Aufgabe? Oder vielleicht
Sie sind über die Verwendung der relativen Importe? Bitte sehen http://docs.celeryq.org/en/latest/userguide/tasks.html#task-names für
mehr Informationen.

Den vollständigen Inhalt der Nachricht Körper war: {'Rückrufe': None,
'Wiederholungen': 0, 'Akkord': None, 'errbacks': None, 'Aufgabe':
'Berichte.Aufgaben.hinzufügen', 'args': [2, 2], 'timelimit': [None, None],
'kwargs': {}, 'id': 'b12eb387-cf8c-483d-b53e-f9ce0ad6b421', 'taskset':
None, 'eta': None, 'abläuft': None, 'utc': True} (258b) Traceback
(most recent call last): File
"/home/jwe/piesup2/venv/lib/python3.4/site-packages/celery/worker/consumer.py",
line 456, in on_task_received
Strategien[name](message, Körper, KeyError: 'Berichte.Aufgaben.hinzufügen'

InformationsquelleAutor Jack Evans | 2016-08-05
Schreibe einen Kommentar