Skip to main content
Version: Current

RetryProfile

@rotorsoft/act-root


@rotorsoft/act-root / act-ops/src/idempotency / RetryProfile

Type Alias: RetryProfile

RetryProfile = object

Defined in: libs/act-ops/src/idempotency/min-safe-ttl.ts:36

A sender's retry behaviour, described in enough detail to size a receiver-side dedup window correctly. The backoff shape is typed inline structurally so it's assignable from @rotorsoft/act's BackoffOptions without this package importing the framework (the zero-act-dep load-bearing constraint of @rotorsoft/act-ops). A caller holding act.BackoffOptions can pass it as backoff with no cast โ€” TypeScript treats the two shapes as equivalent.

Propertiesโ€‹

backoff?โ€‹

readonly optional backoff?: object

Defined in: libs/act-ops/src/idempotency/min-safe-ttl.ts:38

Optional backoff strategy. When omitted, retries fire back-to-back with only the per-attempt timeout between them

baseMsโ€‹

readonly baseMs: number

jitter?โ€‹

readonly optional jitter?: boolean

maxMs?โ€‹

readonly optional maxMs?: number

strategyโ€‹

readonly strategy: "fixed" | "linear" | "exponential"


maxRetriesโ€‹

readonly maxRetries: number

Defined in: libs/act-ops/src/idempotency/min-safe-ttl.ts:37

Retries after the first attempt fails. Use Infinity for a sender that never gives up, such as an Act reaction with blockOnError: false (its maxRetries stops nothing there, so copying it would describe a bounded sender that does not exist)


safetyFactor?โ€‹

readonly optional safetyFactor?: number

Defined in: libs/act-ops/src/idempotency/min-safe-ttl.ts:45

Multiplier applied to the bare envelope. Default 4


timeoutMsโ€‹

readonly timeoutMs: number

Defined in: libs/act-ops/src/idempotency/min-safe-ttl.ts:44

Per-attempt timeout (the sender's fetch timeout, or the equivalent for whatever transport)