Condukt.Workflows.Executor (Condukt v1.3.0)

Copy Markdown View Source

Executes a validated workflow document.

The executor topologically sorts the step DAG using each step's declared needs: plus the step ids referenced by ${...} expressions inside any of its fields. Each step is then run in turn:

  1. Skip the step if any of its dependencies were skipped.
  2. Evaluate when:. If it is false, mark the step as skipped.
  3. Interpolate the step's fields against the current context.
  4. Dispatch on kind to the matching handler (cmd, http, map).
  5. Record the step's output in the context.

After all steps have run, the top-level output expression is resolved and returned.

Summary

Functions

run(doc, inputs \\ %{}, opts \\ [])