# `Snakepit.Pool.WorkerSupervisor`
[🔗](https://github.com/nshkrdotcom/snakepit/blob/v0.13.0/lib/snakepit/pool/worker_supervisor.ex#L1)

DynamicSupervisor for pool worker processes.

This supervisor manages the lifecycle of workers:
- Starts workers on demand
- Handles crashes with automatic restarts
- Provides clean shutdown of workers

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `list_workers`

Lists all supervised workers.

# `restart_worker`

Restarts a worker by ID.

# `start_link`

Starts the worker supervisor.

# `start_worker`

Starts a new pool worker with the given ID.

## Examples

    iex> Snakepit.Pool.WorkerSupervisor.start_worker("worker_123")
    {:ok, #PID<0.123.0>} # GRPCWorker PID

# `stop_worker`

Stops a worker gracefully.

# `worker_count`

Returns the count of active workers.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
