Strategie di gestione degli errori per le attività

La strategia di gestione degli errori per un'attività specifica l'azione da intraprendere se l'attività non va a buon fine a causa di un errore temporaneo.

Configura strategie di gestione degli errori

Per configurare una strategia di gestione degli errori per un'attività:

  1. Fai clic sull'attività esistente nell'Editor integrazioni. Viene visualizzato il riquadro di configurazione dell'attività.
  2. Nel riquadro di configurazione dell'attività, espandi la sezione Gestione degli errori. L'immagine seguente mostra la sezione Gestione degli errori:

    Strategia di gestione degli errori Strategia di gestione degli errori

    Nella sezione Gestione degli errori, completa questi passaggi:

    1. Per aggiungere una nuova policy di errore, fai clic su + Aggiungi policy di errore. Se vengono configurati più criteri di errore condizionale, questi vengono controllati e abbinati in ordine.
      1. Nel campo Strategia di ripetizione, seleziona la strategia di gestione degli errori che vuoi utilizzare. Per un elenco di strategie, consulta Strategie di ripetizione.
      2. Nel campo Condizione di ripetizione, inserisci la condizione che deve corrispondere all'errore per l'esecuzione di questa strategia di gestione degli errori. Ad esempio, per un'attività di chiamata endpoint REST, per eseguire la strategia di gestione degli errori se il codice di errore corrisponde a 404, inserisci quanto segue:
        $`ErrorInfo.code`$ = 404
        Per informazioni su come aggiungere queste condizioni, vedi Condizioni di ripetizione.
    2. Nella sezione Norma di errore predefinita, aggiungi la norma predefinita da applicare se non corrisponde alcuna norma di errore condizionale. Il criterio di errore predefinito è facoltativo.
    3. Nella sezione Error catcher, aggiungi l'error catcher per l'integrazione.

Per informazioni sui codici di errore e sulla gestione degli errori, consulta Gestione degli errori.

Strategie di ripetizione dei tentativi

Le tabelle seguenti descrivono le diverse strategie di gestione degli errori che puoi utilizzare per un'attività:

Tipo di strategia Descrizione
Irreversibile Interrompe l'esecuzione dell'intera integrazione e contrassegna lo stato di esecuzione come Non riuscito.
Ignora Ignora l'errore dell'attività. L'integrazione continua a eseguire le attività successive presupponendo che l'attività non riuscita sia stata completata.
Nessuna Interrompe l'esecuzione dell'attività e contrassegna lo stato dell'integrazione come Non riuscito. Se esiste un percorso alternativo all'attività finale (attività foglia), vengono eseguite le attività nel percorso alternativo. Se tutte le attività nel percorso alternativo vengono eseguite correttamente, lo stato dell'integrazione viene contrassegnato come Riuscito.
Riavviare l'integrazione con backoff Esegue l'intera integrazione dalla prima attività. Tuttavia, l'attività potrebbe non riuscire di nuovo. Per evitare errori ripetuti, specifica l'intervallo di tempo tra i riavvii nel campo Intervallo tra i tentativi (in secondi) e il numero di tentativi di riavvio consentiti nel campo Numero massimo di tentativi.
Riprova l'attività con backoff esponenziale Esegue l'integrazione dall'attività non riuscita. Se l'attività non riesce durante un nuovo tentativo, l'intervallo di tempo tra ogni tentativo aumenta di una potenza di 2. Al tempo di backoff viene aggiunto un ritardo di 1-5 secondi.

Ad esempio, se l'intervallo di nuovi tentativi specificato è di 3 secondi, il primo nuovo tentativo si verifica dopo 3 secondi. Il secondo tentativo viene eseguito dopo 9 secondi, il terzo dopo 81 secondi e così via. Il processo continua finché non viene raggiunto il numero massimo di tentativi o l'attività non viene completata, a seconda di quale condizione si verifica prima.

Riprova l'attività con intervallo fisso Esegue l'integrazione dall'attività non riuscita. Se l'attività non riesce durante un nuovo tentativo, l'intervallo di tempo tra ogni tentativo rimane costante.

Ad esempio, se l'intervallo di nuovi tentativi specificato è di 3 secondi, i nuovi tentativi vengono eseguiti ogni 3 secondi. Il processo continua finché non viene raggiunto il numero massimo di tentativi o l'attività non viene completata, a seconda di quale condizione si verifica prima.

Riprova l'attività con backoff lineare Esegue l'integrazione dall'attività non riuscita. Se l'attività non riesce durante un nuovo tentativo, l'intervallo di tempo tra ogni tentativo aumenta in modo lineare. Al tempo di backoff viene aggiunto un ritardo di 1-5 secondi.

Ad esempio, se l'intervallo di nuovi tentativi specificato è di 3 secondi, il primo nuovo tentativo si verifica dopo 3 secondi. Il secondo tentativo viene eseguito dopo 6 secondi, il terzo dopo 9 secondi e così via. Il processo continua finché non viene raggiunto il numero massimo di tentativi o l'attività non viene completata, a seconda di quale condizione si verifica prima.

Tentativi con backoff

Il limite di concorrenza predefinito è impostato su 50 esecuzioni per ogni progetto e regione. Le esecuzioni non riuscite vengono messe in coda e riprovate utilizzando un algoritmo di backoff esponenziale, che aumenta gradualmente il tempo di attesa tra i tentativi fino a 10 volte. Ad esempio:

  1. Esegui un'integrazione.
  2. Se la richiesta non va a buon fine, attende 10 minuti e riprova a inviare la richiesta.
  3. Se la richiesta non va a buon fine, attende 20 minuti e riprova a inviarla.
  4. Se la richiesta non va a buon fine, attende 40 minuti e riprova a inviarla.
  5. E così via, fino a un massimo di 10 tentativi di backoff.

Condizioni per nuovi tentativi

La condizione di ripetizione specifica la condizione che deve corrispondere affinché venga eseguita la strategia di gestione degli errori. La tabella seguente descrive gli operatori e le funzioni supportati che puoi utilizzare nella condizione di ripetizione:

Operatori supportati

La seguente tabella descrive gli operatori supportati disponibili per l'utilizzo nelle condizioni di ripetizione.

Operatore Descrizione Esempio
= Verifica l'uguaglianza tra due valori $var$ = "value"
!= Verifica la disuguaglianza tra due valori $var$ != "value"
< Controlla se un valore è inferiore a un altro valore 5 < 10
<= Controlla se un valore è minore o uguale a un altro valore $var$ <= 5
> Controlla se un valore è maggiore di un altro valore 1 > 0
>= Controlla se un valore è maggiore o uguale a un altro valore $var$ >= 0
: Controlla se una stringa contiene una sottostringa o se un elenco contiene un valore primitivo specifico.

$longString$ : "substring"

$list of values$ : "value"

AND Controlla due espressioni e restituisce true se entrambe le espressioni restituiscono true. $a$ > $b$ AND $b$ < $c$
OR Controlla due espressioni e restituisce true se una delle espressioni restituisce true. $a$ > $b$ OR $b$ < $c$
NOT Operatore di negazione. Inverte il risultato di un'espressione. NOT($var$ = "value")

Funzioni supportate

La tabella seguente descrive le funzioni supportate disponibili per l'utilizzo nelle condizioni di ripetizione.

Funzione Descrizione
exists(VARIABLE) Controlla se esiste una determinata variabile
does_not_exist(VARIABLE) Controlla se una determinata variabile non esiste
is_empty(VARIABLE) Controlla se una determinata variabile è un elenco E se è vuota. Supporta il tipo di variabile array, ad eccezione dell'array JSON.
is_not_empty(VARIABLE) Controlla se una determinata variabile è un elenco E non è vuota. Supporta il tipo di variabile array, ad eccezione dell'array JSON.