tengo una tarea:trabajador apio no vuelve a intentar la tarea después de llamar reintento()
@celery.task(name='request_task',default_retry_delay=2,acks_late=True)
def request_task(data):
try:
if some_condition:
request_task.retry()
except Exception as e:
request_task.retry()
utilizo el apio con el corredor mongodb y mongodb resultados backend habilitado.
Cuando se llama al método de reintento de tareas(), ni de sentencia condicional ni después de la captura de excepción, la tarea no es juzgado.
en el terminal del trabajador me sale mensaje como este:
[2012-08-10 19: 21: 54.909: INFO/MainProcess] Tarea request_task [badb3131-8964-41b5-90a7-245a8131e68d] reintento : La tarea se puede reintentar
¿Qué puede estar mal?
ACTUALIZACIÓN: Por último, no resolví esta pregunta y tuve que usar while loop dentro de la tarea, por lo que mis tareas nunca se vuelven a intentar.
¿Qué versión de apio está utilizando? –
@MauroRocco Utilicé apio 3.0.4 cuando se formuló la pregunta de tiempo. Tenía algunas características que funcionaban con errores en las versiones 3.0.4 y 3.0.5 pero las versiones posteriores funcionaban bastante bien. – user1039098
Me alegra oír eso. Si puede contestar la pregunta y explicar mejor la resolución. –