RetryConfig

data class RetryConfig(val maxAttempts: Int? = null, val initialDelay: Duration? = null, val maxDelay: Duration? = null, val backoffFactor: Double? = null, val jitter: Double? = null, val exceptions: List<String>? = null)

How a node is retried when it raises. Every property is optional: null means "unset" and falls back to the matching DEFAULT_ constant when the retry is computed, except exceptions, which has no default. Unset is kept distinct from a set value rather than resolved at construction, so a policy declared with field presence carries the same meaning here as where it was declared.

Constructors

Link copied to clipboard
constructor(maxAttempts: Int? = null, initialDelay: Duration? = null, maxDelay: Duration? = null, backoffFactor: Double? = null, jitter: Double? = null, exceptions: List<String>? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Multiplier applied to the delay after each attempt.

Link copied to clipboard

Reported type names to retry on, matched exactly with no subclass match. The reported name is the failure's own simple name, or for a NodeExecutionException the wrapped failure's type name -- so list e.g. "RuntimeError", not "NodeExecutionException". Null retries any failure; an empty list retries none.

Link copied to clipboard

Delay before the first retry.

Link copied to clipboard

Randomness factor, not a duration: the delay is spread over delay * (1 +/- jitter). Zero removes randomness.

Link copied to clipboard

Attempts including the first, so 0 or 1 means no retry.

Link copied to clipboard

Ceiling on any single delay.