View a markdown version of this page

Strategie di riprova dei lavori di assistenza in AWS Batch - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Strategie di riprova dei lavori di assistenza in AWS Batch

Le strategie di ripetizione dei lavori di assistenza consentono AWS Batch di riprovare automaticamente i lavori di assistenza non riusciti in condizioni specifiche.

I lavori di assistenza possono richiedere più tentativi per diversi motivi:

  • Problemi temporanei di servizio: errori interni del servizio, limitazioni o interruzioni temporanee possono causare il fallimento dei lavori durante l'invio o l'esecuzione.

  • Errori di inizializzazione della formazione: i problemi durante l'avvio del processo, ad esempio problemi di estrazione delle immagini o errori di inizializzazione, possono essere risolti al nuovo tentativo.

Configurando strategie di ripetizione appropriate, è possibile migliorare le percentuali di successo del lavoro e ridurre la necessità di interventi manuali, in particolare per carichi di lavoro di formazione di lunga durata.

Nota

Quando un processo di SageMaker formazione fallisce a causa di una capacità insufficiente, lo AWS Batch riprova automaticamente fino a quando la capacità non diventa disponibile. L'ultimo lavoro di SageMaker formazione fallito a causa di una capacità insufficiente verrà mantenuto, mentre i precedenti lavori di SageMaker formazione falliti a causa di una capacità insufficiente verranno eliminati in base al massimo impegno.

Questi tentativi basati sulla capacità non consumano i tentativi di nuovo configurati. La tua strategia di riprova gestisce principalmente altri tipi di errori, ad esempio errori di algoritmo o problemi di servizio che si verificano dopo che un processo è entrato in `STARTING`.

Configurazione delle strategie di riprova

Le strategie di ripetizione dei processi di assistenza vengono configurate utilizzando ServiceJobRetryStrategy, che supporta sia il conteggio semplice dei tentativi che la logica dei tentativi condizionali.

Configurazione del nuovo tentativo

La strategia di ripetizione più semplice specifica il numero di tentativi da effettuare in caso di fallimento di un job di servizio:

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

Questa configurazione consente di ritentare il job di servizio fino a 3 volte in caso di esito negativo.

Importante

Il attempts valore rappresenta il numero totale di volte in cui il job può essere inserito nello RUNNABLE stato, incluso il tentativo iniziale. Un valore pari a 3 indica che il processo verrà tentato una volta inizialmente, per poi ritentare fino a 2 volte in caso di esito negativo.

Riprova la configurazione con evaluate OnExit

È possibile utilizzare il evaluateOnExit parametro per specificare le condizioni in base alle quali i processi devono essere ritentati o lasciati fallire. Ciò è utile quando tipi diversi di errori richiedono una gestione diversa.

L'evaluateOnExitarray può contenere fino a 5 strategie di ripetizione, ognuna delle quali specifica un'azione (RETRYoEXIT) e condizioni basate sui motivi dello stato:

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

Questa configurazione:

  • Riprova i lavori che non riescono a causa di errori interni del server SageMaker AI

  • Fallisce immediatamente i lavori che incontrano eccezioni di convalida (errori del client che non verranno risolti con un nuovo tentativo)

  • Include una regola generale per uscire da qualsiasi altro tipo di errore

Stato, motivo, corrispondenza del modello

Il onStatusReason parametro supporta la corrispondenza dei modelli con un massimo di 512 caratteri. I pattern possono utilizzare caratteri jolly (*) e corrispondere ai motivi di stato restituiti dall' SageMaker IA.

Per i lavori di assistenza, i messaggi di stato dell' SageMaker IA sono preceduti da «Stato ricevuto da SageMaker:» per distinguerli dai messaggi AWS Batch generati. I modelli più comuni includono:

  • Received status from SageMaker: InternalServerError*- Correggi gli errori interni del servizio

  • Received status from SageMaker: ValidationException*- Correggi gli errori di convalida del cliente

  • Received status from SageMaker: ResourceLimitExceeded*- Corrisponde agli errori relativi al limite delle risorse

  • *CapacityError*- Correggi i guasti legati alla capacità

Suggerimento

Utilizza il pattern matching specifico per gestire i diversi tipi di errore in modo appropriato. Ad esempio, riprova con gli errori interni del server ma fallisci immediatamente in caso di errori di convalida che indicano problemi con i parametri del lavoro.