Table of Contents

Interface IWorkflowDispatcher

Namespace
Millrace.Workflows
Assembly
Millrace.dll

The job target every workflow activity, resume and timeout runs through.

public interface IWorkflowDispatcher

Remarks

Activities are not enqueued directly: the substrate enqueues a call to this service, and it loads the instance, does the work, and computes where the graph goes next. That keeps every workflow step an ordinary Layer 1 job โ€” inheriting retries, leases, distribution and dashboard visibility โ€” while the graph walk stays in one place.

Public because the substrate resolves it by name from a serialized invocation. Not intended to be called by consumers.

Methods

CompensateAsync(Guid, string, string, CancellationToken)

Runs one step's compensating activity and schedules the next one backwards, or finishes the unwind.

DeliverSignalAsync(Guid, string, string, string?, CancellationToken)

Resumes an instance whose signal has arrived, binding the payload into the data document and continuing past the wait.

ExecuteAsync(Guid, string, string?, int, CancellationToken)

Runs the node identified by nodeId for an instance, and describes the resulting checkpoint and follow-on jobs as side effects of this job's own completion.

FailActivityAsync(Guid, string, CancellationToken)

Reacts to an activity that failed past its retry policy: unwinds its saga if it was inside one, and otherwise records the instance as failed.

RecoverCompensationAsync(Guid, CompensationRecovery, CancellationToken)

Applies an operator''s recovery decision to a suspended unwind (ยง11.30).

TimeoutSignalAsync(Guid, string, string, CancellationToken)

Gives up on a wait whose timeout elapsed, continuing past it without a payload.