View a markdown version of this page

Estrategias de reintento de trabajos de servicio en AWS Batch - 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.

Estrategias de reintento de trabajos de servicio en AWS Batch

Las estrategias de reintento de trabajos de servicio permiten AWS Batch reintentar automáticamente los trabajos de servicio fallidos en condiciones específicas.

Los trabajos de servicio pueden requerir varios intentos por diversos motivos:

  • Problemas de servicio temporales: los errores de servicio internos, las limitaciones o las interrupciones temporales pueden provocar que los trabajos fallen durante el envío o la ejecución.

  • Fallos en la inicialización del entrenamiento: los problemas durante el inicio del trabajo, como los problemas de extracción de imágenes o los errores de inicialización, pueden resolverse intentándolo de nuevo.

Con la configuración de las estrategias de reintentos adecuadas, se mejoran las tasas de éxito en el trabajo y se reduce la necesidad de intervención manual, especialmente en el caso de las cargas de trabajo de formación prolongadas.

nota

Cuando se produce un error en un trabajo de SageMaker formación por falta de capacidad, se AWS Batch vuelve a intentar el trabajo automáticamente hasta que haya capacidad disponible. Se conservará el trabajo de SageMaker formación más reciente que no se haya aprobado por falta de capacidad, y los trabajos de SageMaker formación anteriores que no hayan sido aprobados por falta de capacidad se eliminarán haciendo todo lo posible.

Estos reintentos basados en la capacidad no consumen los reintentos configurados. La estrategia de reintentos se ocupa principalmente de otros tipos de errores, como los errores de algoritmo o los problemas de servicio que se producen después de que un trabajo entre en «INICIO».

Configuración de estrategias de reintento

Las estrategias de reintentos de las tareas de servicio se configuran mediante ServiceJobRetryStrategy, lo que admite tanto el recuento simple de reintentos como la lógica de reintentos condicional.

Configuración de reintentos

La estrategia de reintentos más sencilla especifica el número de reintentos que se deben realizar si se produce un error en un trabajo de servicio:

{ "retryStrategy": { "attempts": 3 } }

Esta configuración permite volver a intentar el trabajo de servicio hasta 3 veces si se produce un error.

importante

El valor attempts representa la cantidad total de veces que se puede colocar el trabajo en el estado RUNNABLE, como el intento inicial. Un valor de 3 significa que, al principio, se intentará realizar el trabajo una vez y, si se produce un error, se volverá a intentar hasta 2 veces más.

Vuelva a intentar la configuración con evaluate OnExit

Puede utilizar el parámetro evaluateOnExit para especificar las condiciones en las que se deben volver a intentar los trabajos o permitir que fallen. Esto resulta útil cuando distintos tipos de errores requieren un tratamiento diferente.

La matriz evaluateOnExit puede contener hasta 5 estrategias de reintento, cada una de las cuales especifica una acción (RETRY o EXIT) y condiciones según los motivos del estado:

{ "retryStrategy": { "attempts": 5, "evaluateOnExit": [ { "action": "RETRY", "onStatusReason": "Received status from SageMaker: InternalServerError*" }, { "action": "EXIT", "onStatusReason": "Received status from SageMaker: ValidationException*" }, { "action": "EXIT", "onStatusReason": "*" } ] } }

Esta configuración:

  • Vuelve a intentar los trabajos que fallan debido a errores internos del servidor de la SageMaker IA

  • marca como fallidos los trabajos de forma inmediata que encuentran excepciones de validación (errores del cliente que no se resuelven mediante reintentos),

  • incluye una regla general para la salida en caso de cualquier otro tipo de fallo.

Patrón de coincidencias de motivos de estado

El parámetro onStatusReason admite el patrón de coincidencias con hasta 512 caracteres. Los patrones pueden utilizar caracteres comodín (*) y coincidir con los motivos de estado devueltos por SageMaker la IA.

En el caso de los trabajos de servicio, los mensajes de estado de la SageMaker IA llevan el prefijo «Estado recibido de SageMaker:» para distinguirlos de los mensajes generados por la AWS Batch IA. Los patrones comunes incluyen lo siguiente:

  • Received status from SageMaker: InternalServerError*: Coincide con errores internos del servicio

  • Received status from SageMaker: ValidationException*: Coincide con errores de validación del cliente

  • Received status from SageMaker: ResourceLimitExceeded*: Coincide con errores del límite de recursos

  • *CapacityError*: Coincide con los fallos relacionados con la capacidad

sugerencia

Utilice una coincidencia de patrones específica para gestionar los diferentes tipos de errores de forma adecuada. Por ejemplo, reintentar los errores internos del servidor, pero fallar inmediatamente si se trata de errores de validación que indiquen problemas con los parámetros del trabajo.