Durable.Storage.Schemas.StepExecution (Durable v0.1.0-rc)

View Source

Ecto schema for step execution records.

Each step execution represents a single execution attempt of a workflow step, tracking its status, timing, and captured logs.

Summary

Functions

Appends logs to an existing step execution.

Creates a changeset for inserting a new step execution.

Creates a changeset for completing step execution.

Creates a changeset for failing step execution.

Creates a changeset for starting step execution.

Types

status()

@type status() :: :pending | :running | :completed | :failed | :waiting

t()

@type t() :: %Durable.Storage.Schemas.StepExecution{
  __meta__: term(),
  attempt: integer(),
  child_workflow_id: term(),
  compensation_for: String.t() | nil,
  completed_at: DateTime.t() | nil,
  duration_ms: integer() | nil,
  error: map() | nil,
  id: Ecto.UUID.t(),
  input: map() | nil,
  inserted_at: DateTime.t(),
  is_compensation: boolean(),
  logs: [map()],
  output: map() | nil,
  started_at: DateTime.t() | nil,
  status: status(),
  step_name: String.t(),
  step_type: String.t(),
  updated_at: DateTime.t(),
  workflow: term(),
  workflow_id: Ecto.UUID.t()
}

Functions

append_logs_changeset(step_execution, new_logs)

Appends logs to an existing step execution.

changeset(step_execution, attrs)

Creates a changeset for inserting a new step execution.

complete_changeset(step_execution, output, logs, duration_ms)

Creates a changeset for completing step execution.

fail_changeset(step_execution, error, logs, duration_ms)

Creates a changeset for failing step execution.

start_changeset(step_execution)

Creates a changeset for starting step execution.