Interface IFlowEventNotifier
- Namespace
- FlowOrchestrator.Core.Notifications
- Assembly
- FlowOrchestrator.Core.dll
Publishes flow lifecycle events for realtime consumers (dashboard SSE, log sinks, custom listeners). Implementations MUST be non-blocking: the engine awaits this on its hot path, so any backing transport should buffer (e.g. Channel) and return synchronously.
public interface IFlowEventNotifier
Remarks
The default registration is NoopFlowEventNotifier; replacing it (e.g. with the
dashboard's SseFlowEventBroadcaster) is what activates realtime push.
Engine-side calls are wrapped in try/catch — a thrown notifier never aborts a run.
Methods
PublishAsync(FlowLifecycleEvent, CancellationToken)
Publishes evt to any subscribers. Implementations should not block;
dropped events are preferable to a stalled engine.
ValueTask PublishAsync(FlowLifecycleEvent evt, CancellationToken ct = default)
Parameters
evtFlowLifecycleEventThe lifecycle event to publish.
ctCancellationTokenToken cancelled when the engine shuts down.