Odyssey.Phase behaviour (odyssey v0.1.6)

View Source

A phase is a single step in a workflow.

Summary

Types

result()

@type result() ::
  {:ok, Odyssey.State.t()}
  | {:suspend, Odyssey.State.t()}
  | {{:suspend, non_neg_integer()}, Odyssey.State.t()}
  | {:stop, Odyssey.State.t()}
  | {:error, term(), Odyssey.State.t()}

t()

@type t() :: %Odyssey.Phase{args: term(), module: module(), name: String.t()}

Callbacks

run(term, t)

@callback run(term(), Odyssey.State.t()) :: result()

Functions

run(phase, state)