Absurd.TaskResult (absurd v0.2.1)

Copy Markdown View Source

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

Types

A task state defined by the upstream Absurd schema.

t()

A task result snapshot.

Functions

Returns whether a snapshot has reached a durable terminal state.

Types

state()

@type state() :: :pending | :running | :sleeping | :completed | :failed | :cancelled

A task state defined by the upstream Absurd schema.

t()

@type t() :: %Absurd.TaskResult{
  failure: Absurd.JSON.value() | nil,
  result: Absurd.JSON.value() | nil,
  state: state()
}

A task result snapshot.

Functions

terminal?(task_result)

@spec terminal?(t()) :: boolean()

Returns whether a snapshot has reached a durable terminal state.