Continuum.Versions (continuum v0.7.1)

Copy Markdown View Source

Deployment preflight for workflow versions required by live runs.

A release is ready only when every distinct (workflow, version_hash) used by a non-terminal run resolves to a loaded entrypoint in the current BEAM.

Summary

Functions

Compares non-terminal run versions in Postgres with loaded workflow entrypoints for a Continuum instance.

Types

report()

@type report() :: %{
  status: :ready | :missing_versions,
  required_count: non_neg_integer(),
  loaded_count: non_neg_integer(),
  missing_count: non_neg_integer(),
  requirements: [requirement()]
}

requirement()

@type requirement() :: %{
  workflow: String.t(),
  version_hash: binary(),
  run_count: non_neg_integer(),
  oldest_started_at: DateTime.t() | nil,
  entrypoint: module() | nil,
  status: :loaded | :missing
}

Functions

check(opts \\ [])

@spec check(keyword()) :: {:ok, report()} | {:error, term()}

Compares non-terminal run versions in Postgres with loaded workflow entrypoints for a Continuum instance.