Exécution & Flux de données
Comment une exécution de workflow passe du déclencheur aux handlers, en passant par les logs et la mesure des coûts.
Un workflow suit le même cycle de vie qu'il soit déclenché par un bouton, un webhook, une planification ou un sondage entrant.
Cycle de vie
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"]:::dataCe qui se passe pendant une exécution
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)Propriétés clés
- Exécution topologique — les blocs s'exécutent dans l'ordre des dépendances ; les blocs
paralleletloopgénèrent des sous-contextes isolés qui partagent un identifiant de trace. - Dispatch typé — chaque bloc est résolu vers l'un des 30 handlers derrière une interface unique, ce qui permet au moteur d'accueillir de nouveaux types de blocs sans modification du cœur.
- Streaming — les blocs IA diffusent les tokens via les Server-Sent Events ; l'éditeur affiche la sortie en direct au fil de l'exécution.
- Mesure des coûts — chaque bloc enregistre les tokens d'entrée/sortie et le coût dans le journal d'exécution, que la page Utilisation consulte.
Synchrone vs asynchrone
Les exécutions initiées par l'utilisateur s'effectuent de manière synchrone dans la requête. Les workflows déclenchés et de longue durée sont distribués vers Cloud Tasks et s'exécutent dans une fonction en arrière-plan, sans être limités par le délai d'expiration de la requête.
Les exécutions synchrones sont soumises au délai d'expiration de la requête de la plateforme. Pour les workflows susceptibles de durer plus longtemps, privilégiez un déclencheur webhook ou planifié, qui s'exécutent de manière asynchrone.