Periodic reconciliation GenServer.
On each tick, the Reaper:
- Asks each tracked provider for its list of live resources.
- Compares against the
ComputeServerprocesses in the Registry. - Flags any resource that exists at the provider but has no local tracker
(symptom of a node restart after a crash) and calls
ExAtlas.terminate/2to reclaim the runaway spend.
Configuration:
config :ex_atlas, :orchestrator,
reap_interval_ms: 60_000,
reap_providers: [:runpod],
reap_name_prefix: "atlas-"The :reap_name_prefix is a safety switch — the Reaper only terminates
resources whose :name starts with the configured prefix, so it never
touches pods spawned by other tools on the same RunPod account. Set it to
"" to disable the safeguard.
Summary
Functions
Returns a specification to start this module under a supervisor.
Run a single reap cycle. Useful in tests.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Run a single reap cycle. Useful in tests.