Parallele Schritte können die Gesamtausführungszeit für einen Workflow verkürzen, indem mehrere blockierende Aufrufe gleichzeitig ausgeführt werden.
Blockierende Aufrufe wie sleep, HTTP-Aufrufe und Callbacks können zwischen Millisekunden und Tagen dauern. Parallele Schritte sollen bei solchen gleichzeitigen, zeitaufwendigen Vorgängen helfen. Wenn in einem Workflow mehrere blockierende Aufrufe ausgeführt werden müssen, die unabhängig voneinander sind, kann die Gesamtausführungszeit durch die Verwendung paralleler Zweige verkürzt werden, da die Aufrufe gleichzeitig gestartet werden und gewartet wird, bis alle abgeschlossen sind.
Wenn in Ihrem Workflow beispielsweise Kundendaten aus mehreren unabhängigen Systemen abgerufen werden müssen, bevor er fortgesetzt werden kann, sind mit parallelen Zweigen gleichzeitige API-Anfragen möglich. Wenn es fünf Systeme gibt und jedes zwei Sekunden für die Antwort benötigt, kann die sequenzielle Ausführung der Schritte in einem Workflow mindestens zehn Sekunden dauern. Bei paralleler Ausführung kann es nur zwei Sekunden dauern.
Parallelen Schritt erstellen
Erstellen Sie einen parallel-Schritt, um einen Teil Ihres Workflows zu definieren, in dem zwei oder mehr Schritte gleichzeitig ausgeführt werden können.
YAML
- PARALLEL_STEP_NAME: parallel: exception_policy: POLICY shared: [VARIABLE_A, VARIABLE_B, ...] concurrency_limit: CONCURRENCY_LIMIT BRANCHES_OR_FOR: ...
JSON
[ { "PARALLEL_STEP_NAME": { "parallel": { "exception_policy": "POLICY", "shared": [ "VARIABLE_A", "VARIABLE_B", ... ], "concurrency_limit": "CONCURRENCY_LIMIT", "BRANCHES_OR_FOR": ... } } } ]
Ersetzen Sie Folgendes:
PARALLEL_STEP_NAME: der Name des parallelen Schritts.POLICY(optional): Bestimmt die Aktion, die andere Zweige ausführen, wenn eine unbehandelte Ausnahme auftritt. Die StandardrichtliniecontinueAllführt zu keiner weiteren Aktion und alle anderen Zweige werden ausgeführt. Derzeit wird nur die RichtliniecontinueAllunterstützt.VARIABLE_A,VARIABLE_Busw.: Eine Liste von beschreibbaren Variablen mit übergeordnetem Bereich, die Zuweisungen innerhalb des parallelen Schritts ermöglichen. Weitere Informationen finden Sie unter Gemeinsam genutzte Variablen.CONCURRENCY_LIMIT(optional): Die maximale Anzahl von Zweigen und Iterationen, die gleichzeitig in einer einzelnen Workflow-Ausführung ausgeführt werden können, bevor weitere Zweige und Iterationen in die Warteschlange gestellt werden. Dies gilt nur für einen einzelnenparallel-Schritt und wird nicht kaskadiert. Muss eine positive Ganzzahl sein und kann entweder ein Literalwert oder ein Ausdruck sein. Weitere Informationen finden Sie unter Gleichzeitigkeitslimits.