Skip to main content

retry

Package retry provides retry strategy configuration for durable programs.

load("retry", ...)

retry​

load("retry", "retry")

Functions​

constant(t: Duration)​

Example:

retry.constant(time.SECOND)

Parameters:

NameTypeRequiredDescription
tDuration✓

Returns: Strategy


exponential(t: Duration)​

Example:

retry.exponential(time.SECOND)

Parameters:

NameTypeRequiredDescription
tDuration✓

Returns: Strategy


fibonacci(t: Duration)​

Example:

retry.fibonacci(time.SECOND)

Parameters:

NameTypeRequiredDescription
tDuration✓

Returns: Strategy


with_jitter(jitter: Duration, strategy: Strategy)​

Example:

retry.with_jitter(time.SECOND, retry.constant(time.SECOND * 5))

Parameters:

NameTypeRequiredDescription
jitterDuration✓
strategyStrategy✓

Returns: Strategy


with_jitter_percent(jitter: Int, strategy: Strategy)​

Example:

retry.with_jitter_percent(10, retry.constant(time.SECOND * 5))

Parameters:

NameTypeRequiredDescription
jitterInt✓
strategyStrategy✓

Returns: Strategy


with_max_retries(max: Int, strategy: Strategy)​

Example:

retry.with_max_retries(3, retry.constant(time.SECOND))

Parameters:

NameTypeRequiredDescription
maxInt✓
strategyStrategy✓

Returns: Strategy


with_capped_duration(cap: Duration, strategy: Strategy)​

Example:

retry.with_capped_duration(time.MINUTE, retry.exponential(time.SECOND))

Parameters:

NameTypeRequiredDescription
capDuration✓
strategyStrategy✓

Returns: Strategy


with_max_duration(timeout: Duration, strategy: Strategy)​

Example:

retry.with_max_duration(time.MINUTE * 5, retry.exponential(time.SECOND))

Parameters:

NameTypeRequiredDescription
timeoutDuration✓
strategyStrategy✓

Returns: Strategy


Types​

Strategy​


Constants​

  • RETRY = retry - Constant
  • FAIL = fail - Constant
  • YES = retry - Constant
  • NO = fail - Constant