Workflow Exception
Workflow Exception | Sybot Documentation
WORKFLOW EXCEPTION
All'interno di un workflow, il task Workflow Exception agisce come un gestore centralizzato per tutte le anomalie e gli errori che possono verificarsi durante l'esecuzione del flusso. In altre parole, tutte le condizioni di uscita di tipo "Exception" provenienti dai vari task possono essere collegate a questo unico task speciale.
Come suggerisce il nome e l'icona, questo task rappresenta un punto terminale per i percorsi del workflow che hanno riscontrato un errore non gestito.
Funzionamento
Il principio di funzionamento del "Workflow Exception" è quello di accentrare la gestione degli errori. Anziché definire un percorso di errore specifico per ogni singolo task che potrebbe fallire, è possibile far confluire tutte le possibili eccezioni in questo unico punto.
Caratteristiche Principali:
- Centralizzazione degli Errori: Raccoglie tutte le condizioni di tipo "Exception" definite nei vari task del workflow. Questo semplifica la logica del diagramma, evitando di avere molteplici rami di gestione degli errori sparsi per il flusso.
- Nessuna Configurazione: Il task "Workflow Exception" non è configurabile. La sua unica funzione è quella di "catturare" le eccezioni e terminare quel percorso del workflow, segnalando che si è verificato un problema.
Esempio Pratico
Nel diagramma mostrato:
- Il workflow inizia con il task "Import text".
- Se l'importazione del testo avviene con successo, il flusso prosegue attraverso la "Condizione 72" verso il task "E-Mail Out v.2".
- Se, per qualsiasi motivo, il task "Import text" fallisce (ad esempio il file non viene trovato), viene attivata la sua condizione di uscita di tipo "Exception".
- Questa condizione è collegata direttamente al task "Workflow Exception".
- Di conseguenza, l'esecuzione di quel particolare ramo del workflow si interrompe e viene registrata come fallita, senza che venga inviata alcuna email.
In sintesi, il task "Workflow Exception" è un elemento fondamentale per la creazione di workflow robusti, in quanto fornisce un meccanismo semplice e visivo per gestire e identificare i fallimenti durante l'esecuzione dei processi.
Inoltre è possibile far partire un nuovo ramo del flusso. Questo percorso è specificamente pensato per la gestione dell'errore. Come mostrato nell'immagine, è possibile collegare un task successivo (ad esempio un task di invio email come "mail_exception") per notificare agli amministratori o agli utenti che si è verificato un problema.
Parametri di Output
Questi parametri possono essere utilizzati nei task successivi (come nel corpo di una mail) per fornire un report dettagliato e contestualizzato dell'errore.
Dalla "Lista Parametri" si possono utilizzare le seguenti variabili:
- result: L'esito generale dell'eccezione (es. “L'eccezione lanciata dal task Import text è stata gestita”).
- exceptionMessage: Il messaggio di errore specifico restituito dal task fallito. È il parametro più utile per capire la natura del problema (es. "File non trovato", "Connessione al database fallita", etc.).
- failedTaskName: Il nome del task che ha generato l'errore.
- failedTaskId: L'identificativo univoco (ID) del task che ha generato l'errore.
- failedTaskType: La tipologia del task che ha generato l'errore (es. "Import text", "Database query", etc.).