Packages

A standalone Elixir SDK for Temporal: workflow and activity definitions, a worker that polls a Temporal cluster, a client, a deterministic replayer, and a Rust NIF bridge over temporalio-sdk-core.

Current section

Files

Jump to
hourglass lib hourglass workflow behaviour.ex
Raw

lib/hourglass/workflow/behaviour.ex

defmodule Hourglass.Workflow.Behaviour do
@moduledoc """
Callback required by all workflow modules.
The return value is whatever the workflow chooses to expose as its
result — `Hourglass.Workflow.Evaluator` JSON-encodes it into
the `WorkflowExecutionCompleted` event without inspecting the shape.
Workflows in this codebase typically return a result map; the
callback is intentionally `term()` so dialyzer doesn't reject those.
"""
@callback run(input :: term()) :: term()
end