Hinzufügen von Verzweigungslogik zu einem Auftrag mit der IF/ELSE-Aufgabe
Verwenden Sie die If/else condition
-Aufgabe, um Boole’sche bedingte Logik zu Aufgabendiagrammen hinzuzufügen. Diese Aufgaben bestehen aus einem boole’schen Operator und einem Paar von Operanden, wobei die Operanden auf den Auftrags- oder Aufgabenstatus unter Verwendung konfigurierter oder dynamischer Parameter oder Aufgabenwerte verweisen können. Siehe Aufträge parametrisieren.
Angenommen, Sie haben eine Aufgabe mit dem Namen process_records
, die die Anzahl der ungültigen Datensätze in einem Wert mit dem Namen bad_records
verwaltet, und Sie möchten die Verarbeitung verzweigen, wenn Sie auf fehlerhafte Datensätze stoßen. Um diese Logik ihrem Workflow hinzuzufügen, können Sie eine If/else condition
-Aufgabe mit einem Ausdruck wie z. B. {{tasks.process_records.values.bad_records}} > 0
erstellen. Anschließend können Sie abhängige Aufgaben basierend auf den Ergebnissen der Bedingung hinzufügen.
Nach der Ausführung eines If/else condition
-Auftrags, der eine Aufgabe enthält, können Sie das Ergebnis und die Details der Ausdrucksbewertung anzeigen, wenn Sie die Auftragsausführungsdetails in der Benutzeroberfläche anzeigen. Siehe Anzeigen von Details zur Auftragsausführung.
Hinweis
- Numerische und nicht numerische Werte werden je nach booleschem Operator unterschiedlich behandelt:
- Die
==
- und!=
-Operatoren führen einen Zeichenfolgenvergleich ihrer Operanden durch.12.0 == 12
ergibt beispielsweise „false“. - Die Operatoren
>
,>=
und<=
führen numerische Vergleiche ihrer Operanden durch. Beispielsweise wird12.0 >= 12
als „true“ ausgewertet und10.0 >= 12
als „false“ ausgewertet. - Nur numerische Werte, Zeichenfolgen und boolesche Werte sind zulässig, wenn in einem Operanden auf Aufgabenwerte verwiesen wird. Alle anderen Typen führen dazu, dass der Bedingungsausdruck fehlschlägt. Nicht-numerische Werttypen werden in Zeichenfolgen serialisiert und als Zeichenfolgen in
If/else condition
-Ausdrücken behandelt. Wenn beispielsweise ein Vorgangswert auf einen booleschen Wert festgelegt ist, wird er serialisiert in"true"
oder"false"
.
- Die
Konfigurieren einer IF/ELSE-Aufgabe
Fügen Sie eine If/else condition
-Aufgabe auf der Registerkarte Aufgaben in der Benutzeroberfläche Jobs hinzu, indem Sie wie folgt vorgehen:
- Wählen Sie im Dropdownmenü Typ die Option
If/else condition
aus. - Geben Sie im ersten Bedingung-Textfeld den Operanden ein, der ausgewertet werden soll. Der Operand kann auf einen der folgenden Punkte verweisen:
- Eine Auftragsparametervariable.
- Eine Aufgabenparametervariable.
- Ein Aufgabenwert.
- Wählen Sie im Dropdownmenü einen booleschen Operator aus.
- Geben Sie im zweiten Bedingung-Textfeld den Wert für die Auswertung der Bedingung ein.
- Klicken Sie auf Aufgabe speichern.
Konfigurieren von Abhängigkeiten von einer IF/ELSE-Bedingung
Konfigurieren Sie die Abhängigkeiten für die If/else condition
-Aufgabe aus dem Aufgabendiagramm auf der Registerkarte Aufgaben, indem Sie wie folgt vorgehen:
- Wählen Sie die
If/else condition
-Aufgabe im Aufgabendiagramm aus, und klicken Sie auf + Aufgabe hinzufügen. - Geben Sie Details für den Vorgang ein. Das Feld Abhängig von steht standardmäßig auf
<task-name> (true)
, wobei<task-name>
der Name derIf/else condition
-Aufgabe ist.- Wählen Sie
<task-name> (false)
, um eine Aufgabe zu konfigurieren, die bei der Bewertung einer falschen Bedingung ausgeführt wird.
- Wählen Sie
Sie können mehrere Aufgaben so konfigurieren, dass sie seriell oder parallel laufen, basierend auf dem Ergebnis einer If/else condition
. Ziehen Sie die Konfiguration von Run if dependencies
in Betracht, wenn Sie konditionierte Läufe auf der Grundlage von Fehlern bei vorgelagerten Aufgaben benötigen. Siehe Konfigurieren von Anordnungsbeziehungen.