BeamAgent.RunSupervisor (beam_agent v0.1.0)

Copy Markdown View Source

Dynamically supervises individual agent executions.

A DynamicSupervisor (strategy: :one_for_one) started once under this application's supervisor. Every call to start_run/1 adds one BeamAgent.Runner child with restart: :temporary — a run that finishes, fails, or crashes is simply gone; it is never automatically restarted, since a completed or crashed run is a terminal result to hand back to the caller, not a transient failure to retry. Because children are dynamic and independent, any number of runs can be active at once.

Summary

Functions

Returns a specification to start this module under a supervisor.

Starts one BeamAgent.Runner under this supervisor with opts (see BeamAgent.Runner.start_link/1 for accepted keys). Returns {:ok, pid} on success, matching DynamicSupervisor.start_child/2.

Functions

child_spec(arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

start_run(opts)

@spec start_run(keyword()) :: DynamicSupervisor.on_start_child()

Starts one BeamAgent.Runner under this supervisor with opts (see BeamAgent.Runner.start_link/1 for accepted keys). Returns {:ok, pid} on success, matching DynamicSupervisor.start_child/2.