Table of Contents

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

evt FlowLifecycleEvent

The lifecycle event to publish.

ct CancellationToken

Token cancelled when the engine shuts down.

Returns

ValueTask