Odyssey.Workflow (odyssey v0.2.1)
View SourceA workflow is a sequence of phases that are executed in order.
Summary
Types
@type id() :: term()
@type t() :: [Odyssey.Phase.t()]
Functions
@spec jump_to(id(), Odyssey.Phase.index()) :: Odyssey.DB.WorkflowRun.t() | nil
@spec run_next_phase(Odyssey.DB.WorkflowRun.t()) :: Odyssey.DB.WorkflowRun.t() | {:error, term()}
@spec runs([Odyssey.DB.WorkflowRun.status()] | :all, non_neg_integer()) :: [ Odyssey.DB.WorkflowRun.t() ]
@spec start(t(), String.t() | nil, Odyssey.State.t()) :: {:ok, Odyssey.DB.WorkflowRun.t()} | {:error, term()}
@spec start!(t(), String.t() | nil, Odyssey.State.t()) :: Odyssey.DB.WorkflowRun.t()
@spec stop(id()) :: Odyssey.DB.WorkflowRun.t() | nil