Zum Hauptinhalt springen

Wiederholen

Aktuelle Konfiguration des Tasks `Repeat` im Workflow Designer
  • Aufgabentyp: loop-control

Die Aufgabe Wiederholen fungiert als Flusskontrollelement, um eine Schleife zu erstellen. Ihre Funktion besteht darin, die Ausführung der unmittelbar vorhergehenden Aufgabe zu wiederholen, bis eine bestimmte Austrittsbedingung erfüllt ist oder eine maximale Anzahl von Durchläufen erreicht wurde.

Es ist das ideale Werkzeug, um aktive Warte-Logiken (Polling) zu implementieren, eine Operation bei einem Fehler mehrmals zu versuchen oder eine Aktion für eine feste Anzahl von Durchläufen auszuführen.

Konfiguration

Die Konfiguration der Aufgabe definiert die Regeln, die die Schleife steuern.

  • Austrittsbedingung (Exit Condition): Stellt den Ausdruck dar, der am Ende jedes Durchlaufs ausgewertet wird. Die Schleife wiederholt sich, solange diese Bedingung falsch ist. Sobald die Bedingung wahr wird, wird die Schleife unterbrochen und der Workflow fährt mit dem Austrittzweig der Aufgabe Wiederholen fort.
    • Dynamisches Beispiel: #>Declare variables.x<# == 5 (Die Schleife stoppt, wenn die Variable x den Wert 5 erreicht).
    • Statisches Beispiel: 1 == 1 (Ausdruck, der immer wahr ist, die Schleife stoppt nach der ersten Ausführung).
  • Durchlaufgrenze (Iteration Limit): Dies ist ein Sicherheits- und Kontrollmechanismus. Er definiert die maximale Anzahl von Durchläufen, in denen die vorhergehende Aufgabe wiederholt werden kann. Die Schleife stoppt, sobald dieses Limit erreicht ist, unabhängig davon, ob die "Austrittsbedingung" erfüllt wurde oder nicht.
  • Verzögerung (s) (Delay in seconds): Das Warteintervall in Sekunden zwischen dem Ende eines Durchlaufs und dem Beginn des nächsten. Die Einstellung eines Wertes größer als 0 ist nützlich, um zu verhindern, dass ein System durch zu häufige Anfragen überlastet wird (Polling).

Anwendungsbeispiel

Dieses Szenario, das in dem bereitgestellten Diagramm sichtbar ist, zeigt, wie man Wiederholen verwendet, um eine Aktion auszuführen, bis ein Zähler einen bestimmten Wert erreicht.

  1. Variablen deklarieren: Eine initiale Aufgabe deklariert eine Variable x = 1.
  2. Variablen setzen: Dies ist die Aufgabe, die wiederholt wird. Bei jeder Ausführung wird der Wert der Variable x um 1 erhöht.
  3. Wiederholen: Die Aufgabe Wiederholen ist wie folgt konfiguriert:
    • Austrittsbedingung: #>Declare variables.x<# == 5
    • Durchlaufgrenze: 10
    • Verzögerung (s): 0

Ausführungsablauf:

  • Die Aufgabe Variablen setzen wird zum ersten Mal ausgeführt, x wird zu 1.
  • Die Aufgabe Wiederholen evaluiert die Bedingung: 1 == 5 ist falsch. Die Schleife wird fortgesetzt.
  • Die Aufgabe Variablen setzen wird erneut ausgeführt, x wird zu 2.
  • Wiederholen evaluiert: 2 == 5 ist falsch. Die Schleife wird fortgesetzt.
  • ...dieser Prozess wiederholt sich.
  • Wenn Variablen setzen x auf 5 setzt, evaluiert Wiederholen 5 == 5, was wahr ist. Die Austrittsbedingung ist erfüllt, die Schleife wird unterbrochen und der Workflow fährt fort.

Ausgabeparameter

Nach Abschluss der Ausführung stellt die Aufgabe die folgenden Ausgabeparameter bereit, die als Eingabe in nachfolgende Aufgaben des Workflows verwendet werden können.

  • result: Dieser Parameter enthält eine beschreibende Textnachricht, die den Grund für das Beenden der Schleife erklärt. Der Wert dieses Parameters ändert sich je nach Szenario:
    • Beispiel, wenn die Schleife endet, weil die Austrittsbedingung erfüllt ist: "Durchlauf 4 abgeschlossen (von 10 max)"
    • Beispiel, wenn die Schleife endet, weil die Durchlaufgrenze erreicht wurde: "Maximale Anzahl von Durchläufen erreicht (7)"
  • resultJson: Stellt das Ergebnis der Aufgabenausführung im JSON-Format dar und enthält allgemeine Informationen, Konfigurationen und Details zur Ausführung.