View Source Again.Exec (again v0.1.1)

Describes the metadata + state of a single execution of a retry operation.

This is a low level API that is mostly useful for custom work + testing. You probably want Again.retry.

Summary

Functions

Advance the execution of the policy + update the state for "one more retry"

Start an operation execution using the given policy.

Types

@type t() :: %Again.Exec{
  attempts: pos_integer(),
  last_backoff: pos_integer() | nil,
  next: {:continue, backoff_millis :: pos_integer()} | :halt | nil,
  policy: Again.Policy.t(),
  started_at: pos_integer()
}

Functions

@spec advance(t()) :: t()

Advance the execution of the policy + update the state for "one more retry"

@spec init(policy :: Again.Policy.t()) :: t()

Start an operation execution using the given policy.