Kafunk


RetryPolicy

Namespace: Kafunk

Operations on retry policies.

Functions and values

Function or valueDescription
awaitNext p s
Signature: p:RetryPolicy -> s:RetryState -> Async<(TimeSpan * RetryState) option>

Returns an async computation which waits for the delay at the specified retry state and returns the delay and next state, or None if the retries have stopped.

awaitNextState p s
Signature: p:RetryPolicy -> s:RetryState -> Async<RetryState option>

Returns an async computation which waits for the delay at the specified retry state and returns the delay and next state, or None if the retries have stopped.

constant delay
Signature: delay:TimeSpan -> RetryPolicy

Returns an unbounded retry policy with a constant delay of the specified duration.

constantBounded delay attempts
Signature: delay:TimeSpan -> attempts:int -> RetryPolicy

Returns a bounded retry policy with a constant delay of the specified duration.

constantBoundedMs delayMs attempts
Signature: delayMs:int -> attempts:int -> RetryPolicy

Returns a bounded retry policy with a constant delay of the specified duration.

constantMs delayMs
Signature: delayMs:int -> RetryPolicy

Returns an unbounded retry policy with a constant delay of the specified duration.

create f
Signature: f:(RetryState -> TimeSpan option) -> RetryPolicy

Creates a retry policy.

delayAt s b
Signature: s:RetryState -> b:RetryPolicy -> TimeSpan option

Returns the delay for the specified retry state.

delays p
Signature: p:RetryPolicy -> seq<TimeSpan>

Returns a sequence of delays resulting from the specified retry policy, starting at the initial retry state.

delaysFrom s p
Signature: s:RetryState -> p:RetryPolicy -> seq<TimeSpan>

Returns a sequence of delays resulting from the specified retry policy, starting at the specified retry state.

delayStream p
Signature: p:RetryPolicy -> AsyncSeq<TimeSpan>

Returns an async sequence where each item is emitted after the corresponding delay has elapsed.

delayStreamAt p
Signature: p:RetryPolicy -> RetryState -> AsyncSeq<TimeSpan>

Returns an async sequence where each item is emitted after the corresponding delay has elapsed.

expLimitBoundedMs (...)
Signature: initDelayMs:int -> multiplier:float -> delayLimitMs:int -> attempts:int -> RetryPolicy

A retry policy with exponential, randomized and limited backoff. @init - the initial delay @multiplier - exponential multiplier taken to the power of the attempt number @limitMs - the maximum delay @attempts - the maximum number of attempts

expRandLimitBounded (...)
Signature: init:TimeSpan -> multiplier:float -> randFactor:float -> limit:TimeSpan -> attempts:int -> RetryPolicy

A retry policy with exponential, randomized and limited backoff. @init - the initial delay @multiplier - exponential multiplier taken to the power of the attempt number @randFactor - the randomization factor @limitMs - the maximum delay @attempts - the maximum number of attempts

expRandLimitBoundedMs (...)
Signature: initDelayMs:int -> multiplier:float -> randFactor:float -> delayLimitMs:int -> attempts:int -> RetryPolicy

A retry policy with exponential, randomized and limited backoff. @init - the initial delay @multiplier - exponential multiplier taken to the power of the attempt number @randFactor - the randomization factor @limitMs - the maximum delay @attempts - the maximum number of attempts

infinite
Signature: RetryPolicy

Infinite retries.

linear init increment
Signature: init:TimeSpan -> increment:TimeSpan -> RetryPolicy

Returns an unbounded retry policy with a linearly increasing delay.

linearBounded init increment attempts
Signature: init:TimeSpan -> increment:TimeSpan -> attempts:int -> RetryPolicy

Returns an unbounded retry policy with a linearly increasing delay.

maxAttempts maxAttempts p
Signature: maxAttempts:int -> p:RetryPolicy -> RetryPolicy

Returns a backoff strategy which attempts the operation at most a specified number of times.

maxDelay maxDelay b
Signature: maxDelay:TimeSpan -> b:RetryPolicy -> RetryPolicy

Returns a backoff strategy where no wait time is greater than the specified value.

none
Signature: RetryPolicy

No retry.

Fork me on GitHub