146adc970a
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
foreach_parallel — Parallele Multi-Instanz über eine Liste
Zweck: Führt die Kind-Tasks für JEDES Listenelement unabhängig aus — im Gegensatz zu loop_foreach blockiert ein wartendes Element nicht die übrigen. Optional mit Abschlussbedingung: Sind z. B. 80 % der Elemente fertig, werden die restlichen storniert.
Parameter
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
items |
ja | — | Quelle der Elemente: Kontext-Array, JSON-String oder CSV (wie loop_foreach) |
as |
nein | item |
Variablenname des aktuellen Elements |
completion_condition |
nein | — | Abbruchbedingung a op b (>=,<=,>,<,==,!=); Variablen {{fertig}}, {{gesamt}} |
rest |
nein | cancel |
Bei erfüllter Bedingung: cancel (Rest stornieren) oder weiter (Rest zu Ende laufen) |
| Kind-Tasks | ja | — | <task>-Elemente direkt im Element; je Listenelement eigener Zustand |
Eingangswerte: Die Liste unter <items>; je Element {{<as>}}, {{<as>_index}} und bei Objekt-Elementen flache Felder {{<as>_feld}}.
Ausgangswerte:
<task_id>_fertig— Anzahl komplett abgeschlossener Elemente<task_id>_gesamt— Gesamtanzahl<task_id>_storniert— Anzahl stornierter Elemente (beirest=cancel)- pro fertigem Element:
<task_id>_<index>_<var>mit dessen Ergebnisvariablen
XML-Beispiel
<task type="foreach_parallel" id="stellungnahmen">
<config>
<items>{{empfaenger_json}}</items>
<as>person</as>
<completion_condition>{{fertig}} >= 3</completion_condition>
<rest>cancel</rest>
</config>
<task type="webhook" id="fp_call">…</task>
</task>
Hinweis (Engine-Grenze): Gedacht für automatische Kind-Tasks (webhook, email, PDF-Verarbeitung, signal_wait, wait_until …). Interaktive Formulare pro Element funktionieren nur eingeschränkt, weil die Engine pro Aufruf nur eine Formularseite ausliefern kann — für Mehrpersonen-Eingaben stattdessen quorum verwenden.