A durable snapshot of a task's current state.
Only completed tasks carry :result; only failed tasks carry :failure.
Examples
iex> snapshot = %Absurd.TaskResult{state: :running, result: nil, failure: nil}
iex> Absurd.TaskResult.terminal?(snapshot)
false
iex> snapshot = %Absurd.TaskResult{state: :cancelled, result: nil, failure: nil}
iex> Absurd.TaskResult.terminal?(snapshot)
true
Summary
Functions
Returns whether a snapshot has reached a durable terminal state.
Types
@type state() :: :pending | :running | :sleeping | :completed | :failed | :cancelled
A task state defined by the upstream Absurd schema.
@type t() :: %Absurd.TaskResult{ failure: Absurd.JSON.value() | nil, result: Absurd.JSON.value() | nil, state: state() }
A task result snapshot.