Reintentos automáticos de trabajo - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Reintentos automáticos de trabajo

Puede aplicar una estrategia de reintento a los trabajos y las definiciones de trabajo que permita reintentar automáticamente la ejecución de los trabajos con errores. Entre las posibles situaciones de error se incluyen:

  • Cualquier código de salida distinto de cero a partir de un trabajo de contenedor

  • Una finalización o error de la instancia de Amazon EC2

  • Error o interrupción del servicio interno AWS

El acto de enviar un trabajo a una cola de trabajos y que pase al estado RUNNING se considera un intento. De forma predeterminada, a cada trabajo se le concede un intento para pasar al estado SUCCEEDED o FAILED. Sin embargo, la definición de trabajo y los flujos de envíos de trabajo permiten especificar una estrategia de entre 1 y 10 reintentos. Si OnExit se especifica la evaluación, puede contener hasta 5 estrategias de reintentos. Si OnExit se especifica la evaluación, pero ninguna de las estrategias de reintento coincide, se vuelve a intentar el trabajo. En el caso de los trabajos que no coincidan con la salida, añada una última entrada que salga por cualquier motivo. Por ejemplo, este objeto evaluateOnExit tiene dos entradas con acciones de RETRY y una última entrada con una acción de EXIT.

"evaluateOnExit": [ { "action": "RETRY", "onReason": "AGENT" }, { "action": "RETRY", "onStatusReason": "Task failed to start" }, { "action": "EXIT", "onReason": "*" } ]

En la ejecución, la variable de entorno AWS_BATCH_JOB_ATTEMPT se ajusta a la cantidad de reintentos de trabajo de contenedor correspondiente. Al primer intento se le asigna el 1, y los intentos posteriores se enumeran en orden ascendente (por ejemplo, 2, 3, 4, etc.).

Por ejemplo, supongamos que un intento de trabajo falla por cualquier motivo y que el número de intentos especificado en la configuración de reintentos es superior al número de AWS_BATCH_JOB_ATTEMPT. A continuación, el trabajo se vuelve a colocar en el estado RUNNABLE. Para obtener más información, consulte Estados de trabajo.

nota

Los trabajos que se cancelan o se terminan no se reintentan. De la misma manera, los trabajos que fallan debido a una definición de trabajo no válida tampoco se reintentan.

Para obtener más información, consulte Estrategia de reintento, Creación de una definición de trabajo de un solo nodo , Enviar un trabajo y Códigos de error de tareas detenidas.