View Source Reactor.Executor.StepRunner (reactor v0.10.2)

Run an individual step, including compensation if possible.

Summary

Functions

Collect the arguments and and run a step, with compensation if required.

Functions

Link to this function

run(reactor, state, step, concurrency_key)

View Source
@spec run(
  Reactor.t(),
  Reactor.Executor.State.t(),
  Reactor.Step.t(),
  Reactor.Executor.ConcurrencyTracker.pool_key()
) ::
  {:ok, any(), [Reactor.Step.t()]}
  | :retry
  | {:retry, any()}
  | {:error | :halt, any()}

Collect the arguments and and run a step, with compensation if required.

Link to this function

run_async(reactor, state, step, concurrency_key, process_contexts)

View Source
@spec run_async(
  Reactor.t(),
  Reactor.Executor.State.t(),
  Reactor.Step.t(),
  Reactor.Executor.ConcurrencyTracker.pool_key(),
  map()
) ::
  {:ok, any(), [Reactor.Step.t()]}
  | :retry
  | {:retry, any()}
  | {:error | :halt, any()}

Run a step inside a task.

This is a simple wrapper around run/4 except that it emits more events.

Link to this function

undo(reactor, state, step, value, concurrency_key)

View Source

Undo a step if possible.