API may change!
API may change!
Allows retrying individual elements in the stream with an exponential backoff.
The retry condition is controlled by the decideRetry
function. It takes the originally emitted
element and the response emitted by flow
, and may return a request to be retried.
The implementation of the RetryFlow
requires that flow
follows one-in-one-out semantics,
the Flow may not filter elements,
nor emit more than one element per incoming element. The RetryFlow
will fail if two elements are
emitted from the flow
, it will be stuck "forever" if nothing is emitted. Just one element will
be emitted into the flow
at any time. The flow
needs to emit an element before the next
will be emitted to it.
minimum duration to backoff between issuing retries
maximum duration to backoff between issuing retries
adds jitter to the retry delay. Use 0 for no jitter
total number of allowed retries, when reached the last result will be emitted even if unsuccessful
a flow to retry elements from
retry condition decision function
API may change!
API may change!
Allows retrying individual elements in the stream with an exponential backoff.
The retry condition is controlled by the decideRetry
function. It takes the originally emitted
element with its context, and the response emitted by flow
, and may return a request to be retried.
The implementation of the RetryFlow
requires that flow
follows one-in-one-out semantics,
the FlowWithContext may not filter elements,
nor emit more than one element per incoming element. The RetryFlow
will fail if two elements are
emitted from the flow
, it will be stuck "forever" if nothing is emitted. Just one element will
be emitted into the flow
at any time. The flow
needs to emit an element before the next
will be emitted to it.
The wrapped flow
and decideRetry
take the additional context parameters which can be a context,
or used to control retrying with other information.
minimum duration to backoff between issuing retries
maximum duration to backoff between issuing retries
adds jitter to the retry delay. Use 0 for no jitter
total number of allowed retries, when reached the last result will be emitted even if unsuccessful
a flow with context to retry elements from
retry condition decision function