2012-08-24 4 views
10

Ich habe eine Datei geschrieben mytasks.pyimmer Fehler empfangen unregistrierte Aufgabe des Typs ‚mytasks.add‘

from celery import Celery 

celery = Celery("tasks", 
       broker='redis://localhost:6379/0', 
       backend='redis') 


@celery.task 
def add(x,y): 
     return x+y 

und task.py als

from mytasks import add 

add.delay(1,1) 

ich redis Server folgen haben begonnen, und ich habe Sellerie-Server gestartet . aber wenn im task.py läuft dann bin ich die folgende Fehlermeldung erhalten:

Received unregistered task of type 'mytasks.add'. 
The message has been ignored and discarded. 

Did you remember to import the module containing this task? 
Or maybe you are using relative imports? 
Please see http://bit.ly/gLye1c for more information. 

The full contents of the message body was: 
{'retries': 0, 'task': 'mytasks.add', 'eta': None, 'args': (1, 1), 'expires': None, 'callbacks': None, 'errbacks': None, 'kwargs': {}, 'id': 'a4792308-d575-4de4-8b67-26982cae2fa4', 'utc': True} (173b) 

Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 411, in on_task_received 
    strategies[name](message, body, message.ack_log_error) 
KeyError: 'mytasks.add' 

was der possibel Grund sein mag

Antwort

13

Hey ich gelöst haben das Problem ich habe eine Sache, die ich hinzufügen

CELERY_IMPORTS=("mytasks") 

in meiner celeryconfig.py Datei und ich habe Erfolg.

+0

danke, für mich gearbeitet – Anentropic

+0

es auch für mich funktioniert :) –

Verwandte Themen