Root supervisor for the Arrea engine layer.
Strategy: :rest_for_one
Children are ordered by dependency: each process depends on the previous ones, and only the dependent processes are restarted when one fails.
1. Registry (Arrea.Registry) — Workers
2. Registry (Arrea.CircuitBreaker.Registry) — Circuit breakers
3. Arrea.Monitor — Depende de los registries
4. Arrea.Leader — Depende de Monitor y registries
5. Arrea.WorkerSupervisor — Depende de Leader y registriesCon :rest_for_one:
- Si falla un Registry → reinicia todo (raro; los registries son muy estables)
- Si falla Monitor → reinicia Monitor + Leader + WorkerSupervisor (batches activos se pierden)
- Si falla Leader → reinicia solo Leader + WorkerSupervisor (Monitor y registries intactos)
- Si falla WorkerSupervisor → reinicia solo WorkerSupervisor (impacto mínimo)
Esto es significativamente mejor que :one_for_all, donde cualquier fallo
(incluyendo el del WorkerSupervisor) reiniciaba todos los procesos.
Summary
Functions
Returns a specification to start this module under a supervisor.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.