Skip to content
Tracon

WorkflowNodeRetryPolicy

Namespace Tracon · Assembly Tracon.Workflows.dll

Retries a single workflow function node on a transient provider error instead of failing the whole run.

public sealed class WorkflowNodeRetryPolicy

objectWorkflowNodeRetryPolicy

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Applies only to a node registered with [TraconWorkflowFunctionExtensions.AddWorkflowFunction](/api/tracon.traconworkflowfunctionextensions/). Whether an error is transient is read from the registered IRunErrorClassifier(the same taxonomyruns.error_class` uses) — a provider error, an open circuit breaker, a rate limit, or a timeout is retried; every other class (a compilation failure, a blocked tool, a budget being exceeded, cancellation, …) is not, since retrying those cannot change the outcome.

The retry loop runs entirely INSIDE the node’s own call — Microsoft Agent Framework calls the node’s handler once per routed message and sees only its final outcome. A retried attempt is therefore invisible to TraconWorkflowOptions.MaxSuperSteps: the node still counts as exactly one super-step no matter how many attempts it took.

public WorkflowNodeRetryPolicy()

The multiplier applied to the delay after each further attempt.

public double BackoffMultiplier { get; set; }

double

The delay before the second attempt.

public TimeSpan InitialDelay { get; set; }

TimeSpan

The most attempts a single call may take. One means no retry.

public int MaxAttempts { get; set; }

int