Architecture
Ausführung & Datenfluss
Wie ein Workflow-Durchlauf vom Trigger über Handler bis hin zu Logs und Kostenerfassung abläuft.
Ein Workflow durchläuft denselben Lebenszyklus, unabhängig davon, ob er durch einen Button, einen Webhook, einen Zeitplan oder einen eingehenden Poll ausgelöst wird.
Lebenszyklus
flowchart LR
classDef step fill:#00D4AA,stroke:#0F766E,color:#06302B
classDef data fill:#3B82F6,stroke:#1E40AF,color:#fff
classDef gate fill:#FF6B35,stroke:#C2410C,color:#fff
S1["Build<br/>canvas"]:::step --> S2{"Validate<br/>reference checks"}:::gate
S2 --> S3["Save<br/>blocks + edges"]:::data
S3 --> S4["Deploy<br/>immutable version"]:::step
S4 --> S5["Bind trigger<br/>webhook · schedule · poll"]:::step
S5 --> S6["Execute<br/>resolve inputs → handlers"]:::step
S6 --> S7["Logs + cost<br/>per-block metering"]:::dataWas während eines Durchlaufs passiert
sequenceDiagram
participant T as Trigger
participant A as API
participant S as Serializer
participant X as Executor
participant H as Handler
participant L as LLM / Integration
participant D as Database
T->>A: Fire (webhook / schedule / manual)
A->>S: serialize(workflow)
S->>S: Build graph + topological sort
S-->>A: Execution plan
A->>X: execute(plan)
loop For each block
X->>H: handle(block, inputs)
alt AI / Integration block
H->>L: Provider call
L-->>H: Result
else Data block
H->>D: Query / insert
D-->>H: Rows
end
H-->>X: Block output (stored in context)
end
X->>D: Write execution log + cost
A-->>T: Result (streamed when applicable)Wesentliche Eigenschaften
- Topologische Ausführung — Blöcke werden in Abhängigkeitsreihenfolge ausgeführt;
parallel- undloop-Blöcke erzeugen isolierte Teilkontexte, die eine Trace-ID teilen. - Typisiertes Dispatching — jeder Block wird einem von 30 Handlern hinter einer einzigen Schnittstelle zugeordnet, sodass die Engine für neue Blocktypen offen ist, ohne Kernanpassungen vornehmen zu müssen.
- Streaming — KI-Blöcke streamen Tokens über Server-Sent Events zurück; der Editor zeigt die Live-Ausgabe während eines laufenden Durchlaufs an.
- Kostenerfassung — jeder Block zeichnet Eingabe-/Ausgabe-Tokens und Kosten im Ausführungslog auf, das die Seite Nutzung ausliest.
Synchron vs. asynchron
Vom Benutzer ausgelöste Durchläufe werden synchron innerhalb der Anfrage ausgeführt. Ausgelöste und lang laufende Workflows werden an Cloud Tasks weitergeleitet und in einer Hintergrundfunktion ausgeführt, sodass sie nicht an das Request-Timeout gebunden sind.
Synchrone Durchläufe sind an das plattformseitige Request-Timeout gebunden. Für Workflows, die möglicherweise länger laufen, empfiehlt sich ein Webhook- oder geplanter Trigger, der asynchron dispatcht.