Jidoka.Operation.Source.Workflow (Jidoka v0.9.0)

Copy Markdown View Source

Operation source for deterministic Jidoka workflows.

The model sees one operation. The workflow module owns the deterministic step graph behind that operation. Sources can opt into async execution for independent workflow steps.

Summary

Functions

Builds a deterministic workflow operation source.

Builds a workflow source and raises if the settings are invalid.

Types

forward_context()

@type forward_context() ::
  :public
  | :none
  | {:only, [atom() | String.t()]}
  | {:except, [atom() | String.t()]}

result_mode()

@type result_mode() :: :output | :structured

t()

@type t() :: %Jidoka.Operation.Source.Workflow{
  async: boolean(),
  definition: Jidoka.Workflow.Spec.t(),
  description: nil | binary(),
  forward_context: forward_context(),
  idempotency: (((:pure | :idempotent) | :dedupe) | :reconcile) | :unsafe_once,
  max_concurrency: pos_integer(),
  metadata: map(),
  name: binary(),
  result: :output | :structured,
  timeout: pos_integer(),
  workflow: module()
}

Functions

new(attrs)

@spec new(keyword() | map()) :: {:ok, t()} | {:error, term()}

Builds a deterministic workflow operation source.

new!(attrs)

@spec new!(keyword() | map()) :: t()

Builds a workflow source and raises if the settings are invalid.