MyBotBoxMyBotBox
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"]:::data

Was 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- und loop-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.