oMLX /health liveness versus scheduler wedge
Parent: Mac local LLMs: oMLX, Rapid-MLX and related internals · Published reference · snapshot 2026-10-05
↓ Facts as markdownall context files
`/health` is unauthenticated in its signature (no `verify_api_key` dependency), while `/api/status` depends on `verify_api_key`.
These notes link each claim to its source. A source may be a research report hosted on this site rather than the primary document. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Facts
- `/health` is unauthenticated in its signature (no `verify_api_key` dependency), while `/api/status` depends on `verify_api_key`. [source]
- `/health` returns status code 503 and `"status": "loading"` only when `pinned_preload_complete` is false; otherwise 200 and `"status": "healthy"`. [source]
- `/health` body fields are `status`, `default_model`, `engine_pool` (`model_count`, `loaded_count`, `final_ceiling`, `current_model_memory`) and `mcp`; no field reads scheduler, step or request state. [source]
- If `enforcer.get_final_ceiling()` raises, `/health` logs a warning and reports ceiling 0 instead of failing. [source]
- `/api/status` computes `active_requests` as the sum of `len(core._output_collectors)` over loaded engines and `waiting_requests` as the sum of `len(scheduler.waiting)`; it always returns `"status": "ok"`. [source]
- A probe that detects a wedge must therefore either watch `waiting_requests > 0` with `active_requests == 0` over time, or send a real tiny completion; `/health` cannot detect it on this code. [source]
- The server comment says binding the port before the pinned preload lets "port watchdogs see liveness instead of a closed port" and cites issue 2184. [source]
- A pinned preload that outlasts a port watchdog's timeout would otherwise get the process hard-killed mid-load (server.py comment near line 616). [source]
Children
- No children recorded.