2010-11-10 25 views
7

Por alguna razón, siempre que creo y ejecuto una nueva Tarea en Apio hay un problema al devolver los resultados. La primera tarea retorna perfectamente, pero para todas las tareas posteriores, el resultado siempre está pendiente. Revisé el registro de Aplery, y obtiene el resultado correcto sin errores, pero simplemente no puede devolverlo.El apio no devuelve los resultados

Si ayuda, estoy ejecutando rabbitmq como mi back-end.

+0

¿Qué versión de Apio? ¿Qué usas para almacenar los resultados? (CELERY_RESULT_BACKEND) – asksol

+0

Versión 2.2 y rabbitmq es mi back-end. – veered

+0

Espera. Lo siento, eso no tiene ningún sentido. No configuré ninguna base de datos, ni cambié ninguna de las configuraciones. ¿Eso quiere decir que se convertirá en AMQP por defecto? – veered

Respuesta

5

Bueno, resulta que solo necesitaba especificar explícitamente un back-end.

Adición:

CELERY_RESULT_BACKEND = "amqp" 

a mi archivo de configuración parecía arreglar todo.

1

También estoy recibiendo el mismo problema incluso si agrego el backend 'amqp'.

Aquí es mi apio fichero de configuración:

BROKER_HOST = "localhost" 
BROKER_PORT = 5672 
BROKER_USER = "guest" 
BROKER_PASSWORD = "guest" 
BROKER_VHOST = "/" 

CELERY_RESULT_BACKEND = "amqp" 
CELERY_AMQP_TASK_RESULT_EXPIRES = 18000 # 5 hours. 
CELERY_IMPORTS = ("test",) 

Mi shell en el que primero obtener el tiempo es el tiempo de éxito y su segundo colgado. Después de algún tiempo, si vuelvo a llamar al método, funciona. Este patrón sigue repitiéndose.

>>> r = test.add.delay(4, 4) 
>>> r.get() 
8 
>>> r = test.add.delay(4, 4) 
>>> r.get() 
^C <---------- it was hung here forever, I had to press ^C 

>>> r = test.add.delay(4, 4) 
>>> r.get() 
8 
Cuestiones relacionadas