Zizq.Backoff (Zizq v0.6.0)

Copy Markdown View Source

Per-job retry backoff policy.

The server computes each retry delay as:

delay = base + (attempts ** exponent) * 1000 + attempts * rand(0..jitter)

:base and :jitter are milliseconds; :exponent is dimensionless. All three are required together — the server has no partial defaults.

Zizq.Backoff.new!(base: :timer.seconds(15), exponent: 4.0, jitter: :timer.seconds(30))

Omit the policy entirely to inherit the server's own default, which then tracks server configuration rather than freezing a value into your code.

Summary

Functions

Build a policy from a keyword list or map. Raises on missing or invalid keys.

Types

t()

@type t() :: %Zizq.Backoff{
  base: non_neg_integer(),
  exponent: float(),
  jitter: non_neg_integer()
}

Functions

new!(backoff)

@spec new!(t() | keyword() | map()) :: t()

Build a policy from a keyword list or map. Raises on missing or invalid keys.