- Einleitung
- Erste Schritte
- Erstellen mit Maestro BPMN
- Grundlegendes zur BPMN-Modellierung von Maestro
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Einen einfachen BPMN-Prozess implementieren
- Einen komplexen BPMN-Prozess implementieren
- Debugging
- Simulieren
- Auswertungen (Vorschau)
- Häufige Implementierungsszenarien
- Erstellen mit Maestro Case
- Einführung in Maestro Case
- Maestro BPMN vs. Maestro Case: Wann wird Case Management verwendet?
- Der Lebenszyklus von Maestro Case: Vom Ereignis-Trigger zum App-Erlebnis
- Erstellen Sie Ihren ersten Fall mit Maestro Case
- Maestro Case mit einem Codierungs-Agent erstellen (Vorschau)
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Austrittsregeln und Beendigung der frühen Phase
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Konfigurieren und Testen des Case Manager-Agents (Vorschau)
- Eingabe- und Ausgabevertrag für den Fall Manager
- Wörterbuch für die Komponente „Maestro Case“.
- Erstellen mit Maestro Flow
- Maestro Automate
- Integrationen
- Betrieb
- Überwachung
- Optimieren
- Referenzinformationen
Fehlerbehandlung pro Knoten in Flow, die Knotenfehler an einen separaten Pfad weiterleitet und Fehlerdetails über Variablen bereitstellt.
Dieser Leitfaden umfasst Folgendes:
Error-Handling in Flow ist ein Mechanismus pro Knoten, mit dem Sie steuern können, was passiert, wenn ein Knoten während der Ausführung fehlschlägt. Standardmäßig stoppt ein fehlgeschlagener Knoten den gesamten Prozess. Sie können dieses Verhalten überschreiben, indem Sie einen Error-Handle verbinden, um Fehler an einen separaten Pfad weiterzuleiten, auf dem Sie den Fehler untersuchen und darauf reagieren.
Wie es funktioniert
Jeder Knoten, der die Fehlerbehandlung unterstützt, hat ein Fehler-Handle – einen Ausgabe-Connector unten rechts neben dem Knoten, der aktiviert wird, wenn der Knoten fehlschlägt. Die meisten Knoten unterstützen die Fehlerbehandlung.
Wenn ein Knoten mit einem verbundenen Error-Handle fehlschlägt, wird die Ausführung an den Error-Pfad weitergeleitet, anstatt den Prozess anzuhalten. Die Fehlerdetails werden als Variable verfügbar, die Sie in nachgelagerten Knoten lesen können.
Wenn ein Knoten ohne verbundenen Error-Handle fehlschlägt, schlägt der gesamte Prozess sofort fehl. Der Fehler wird im Ausführungsbereich auf der Registerkarte „Vorfälle“ angezeigt.
Wiederholungen von HTTP-Anforderungen
Der HTTP Request-Knoten unterstützt konfigurierbare Wiederholungen. Wenn Wiederholungen konfiguriert sind, versucht der Knoten, die Anforderung so oft wie angegeben auszuführen, bevor er den Error-Handle auslöst. Wenn alle Wiederholungsversuche fehlschlagen und ein Error-Handle verbunden ist, wird die Ausführung an den Error-Pfad weitergeleitet. Wenn kein Error-Handle verbunden ist, schlägt der Prozess fehl.
Error-Handles konfigurieren
Ein Error-Handle wird verdrahtet, indem der Error-Handle-Connector des Knotens (unten rechts) mit einem anderen Knoten auf der Arbeitsfläche verbunden wird. Ein Knoten ohne Error-Handle-Connector unterstützt keine Fehlerbehandlung, sodass jeder Fehler den Prozess anhält.
Das Fehlerobjekt
Wenn ein Error-Handle verbunden ist und der Knoten fehlschlägt, sind die Fehlerdetails als $vars.<nodeName>.error verfügbar. Dieses Object hat die folgenden Felder:
code
Ein maschinenlesbarer Fehlercode, der den Fehlertyp identifiziert.
Meldung
Eine für Menschen verständliche Beschreibung des aufgetretenen Fehlers. Verwenden Sie dies zur Protokollierung oder zum Anzeigen von Fehlerinformationen.
Detail
Eine detaillierte technische Beschreibung des Fehlers, einschließlich Stack-Traces oder dienstspezifische Informationen, sofern verfügbar.
Kategorie
Die Fehlerkategorie, die verwandte Fehlertypen gruppiert.
Status
Der mit dem Fehler verknüpfte HTTP-Statuscode. Wird bei HTTP-bezogenen Fehlern ausgefüllt (z. B. 404 oder 500).
Das Fehlerobjekt ist nur im Error-Pfad verfügbar. Der Zugriff auf $vars.<nodeName>.error im Success-Pfad gibt „undefined“ zurück.
Beispiel aus der Praxis
Dieses Beispiel verwendet einen HTTP Request-Knoten, um eine externe API aufzurufen, wobei sich im Error-Pfad ein Script-Knoten befindet, der den Fehler protokolliert.
Ein HTTP Request-Knoten wird auf der Arbeitsfläche platziert und mit der Ziel-URL konfiguriert. Sein Error-Handle ist mit einem Script-Knoten verbunden. Der Script-Knoten liest das Fehlerobjekt wie folgt:
const error = $vars.httpRequest1.error;
return {
failed: true,
reason: error.message,
httpStatus: error.status,
detail: error.detail
};
const error = $vars.httpRequest1.error;
return {
failed: true,
reason: error.message,
httpStatus: error.status,
detail: error.detail
};
Wenn die HTTP-Anforderung erfolgreich ist, folgt die Ausführung dem Success-Pfad und der Script-Knoten wird übersprungen. Wenn die Anforderung fehlschlägt (nach den konfigurierten Wiederholungen), wird die Ausführung an den Script-Knoten weitergeleitet, der das vollständige Fehlerobjekt erhält.
Muster
Dies sind gängige Ansätze für die Behandlung, Protokollierung, Wiederholung und Eskalation von Fehlern. Sie alle basieren auf dem oben beschriebenen Error-Handle pro Knoten: Ein verbundener Error-Handle leitet Fehler an einen separaten Pfad weiter, auf dem das Fehlerobjekt unter $vars.<node>.error verfügbar ist.
Protokollieren und fortfahren
Dieses Muster eignet sich für nicht-kritische Vorgänge, bei denen der Workflow fortgesetzt werden soll, auch wenn ein Schritt fehlschlägt. Der Error-Handle des Knotens stellt eine Verbindung mit einem Script-Knoten her, der den Fehler protokolliert, und verbindet sich dann wieder mit dem Hauptpfad, sodass die Ausführung fortgesetzt wird.
// Script node on the error path
console.log('Non-critical step failed:', $vars.step1.error.message);
return null; // downstream nodes handle null gracefully
// Script node on the error path
console.log('Non-critical step failed:', $vars.step1.error.message);
return null; // downstream nodes handle null gracefully
Wiederholen mit Limit
Dieses Muster eignet sich für wahrscheinlich vorübergehende Fehler wie Netzwerk-Timeouts, Ratenlimits oder vorübergehende Dienstausfälle. Für den HTTP Request-Knoten führt die integrierte Anzahl von Wiederholungsversuchen die Anforderung erneut aus, bevor der Error-Handle ausgelöst wird, und nur der letzte Fehler wird an den Error-Pfad weitergeleitet. Wiederholungseinstellungen sollten nur für idempotente Vorgänge verwendet werden.
Benachrichtigen und beenden
Dieses Muster eignet sich für nicht wiederherstellbare Fehler, die menschliche Aufmerksamkeit erfordern. Auf dem Error-Pfad wird eine Benachrichtigung gesendet (über einen HTTP Request- oder Integrationsknoten). Anschließend beendet ein Terminate-Knoten mit dem Status Failed und einer beschreibenden Meldung wie $vars.step1.error.message den Workflow.
Fallback-Wert
Dieses Muster eignet sich für Vorgänge, die möglicherweise fehlschlagen, aber einen sicheren Standardwert haben, der es dem Workflow ermöglicht, sinnvoll fortzufahren. Auf dem Error-Pfad legt ein Script-Knoten die erwartete Ausgabe auf einen Standardwert fest und führt anschließend wieder in den Hauptpfad, als wäre der Vorgang erfolgreich gewesen.
Häufige Fehler
- Fehler stillschweigend ignorieren – Fehler im Error-Pfad sollten immer protokolliert werden, auch wenn der Workflow fortgesetzt wird. Stille Fehler sind später schwer zu diagnostizieren.
- Nicht idempotente Vorgänge wiederholen – Vorgänge mit Nebenwirkungen (Schreiben von Daten, Senden einer Nachricht) können bei wiederholter Ausführung Duplikate erzeugen. Wiederholungseinstellungen sollten nur für Vorgänge verwendet werden, die mehr als einmal ausgeführt werden können, ohne Duplikate zu erzeugen.
- Error-Handles nicht verbunden lassen – Wenn der Error-Handle eines Knotens nicht verbunden ist, schlägt der gesamte Prozess bei einem Fehler fehl. Workflows, die nach einem Fehler fortgesetzt werden sollen, benötigen einen verbundenen Error-Pfad.
Zugehörige Seiten
- Fehler behandeln – Schritt-für-Schritt-Aufgabe: Einen Error-Pfad durchgängig erstellen
- Die Arbeitsfläche – Übersicht über den Arbeitsbereich einschließlich des Ausführungsbereichs
- Variablen und Datenfluss – wie Daten mithilfe von
$varszwischen Knoten übergeben werden - Effektives Debuggen – Tipps zur Untersuchung von Fehlern im Debug-Modus
- Dieser Leitfaden umfasst Folgendes:
- Wie es funktioniert
- Wiederholungen von HTTP-Anforderungen
- Error-Handles konfigurieren
- Das Fehlerobjekt
- code
- Meldung
- Detail
- Kategorie
- Status
- Beispiel aus der Praxis
- Muster
- Protokollieren und fortfahren
- Wiederholen mit Limit
- Benachrichtigen und beenden
- Fallback-Wert
- Häufige Fehler
- Zugehörige Seiten