2012-08-24 12 views
10

He escrito un archivo mytasks.pyconseguir error recibidos tarea no registrada del tipo '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 

y task.py de la siguiente servidor Redis

from mytasks import add 

add.delay(1,1) 

he empezado y he empezado servidor de apio . pero cuando estoy corriendo task.py entonces yo estoy recibiendo el siguiente error:

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' 

lo que puede ser la razón possibel

Respuesta

13

Hey me han resuelto el problema que hice una cosa añado

CELERY_IMPORTS=("mytasks") 

en mi archivo celeryconfig.py y obtuve el éxito.

+0

gracias, funcionó para mí – Anentropic

+0

funciona para mí también :) –

Cuestiones relacionadas