Commit graph

10 commits

Author SHA1 Message Date
mateo-berri
9f397dbbf0 fix(proxy): stop reload workers when their pool parent dies 2026-10-21 00:08:28 -07:00
mateo-berri
d8cc9ed90a fix(proxy): keep Windows on single-worker reload and pass unlisted uvicorn args to the reload pool 2026-10-20 22:37:29 -07:00
mateo-berri
ce123a7d11 test(proxy): skip the startup-failure reload tests on uvicorn without a startup failure code 2026-10-20 20:46:35 -07:00
mateo-berri
3bd5c14605 fix(proxy): stop the reload worker pool on Ctrl-\ instead of waiting out a dying worker's healthcheck 2026-10-20 19:47:28 -07:00
mateo-berri
a02c0c7582 fix(proxy): carry the graceful shutdown timeout into the reload worker pool 2026-10-20 18:33:38 -07:00
mateo-berri
afe2687a5f fix(proxy): watch the reloader through its process sentinel so the pool also stops on Windows
Some checks failed
LiteLLM Rust / rust-lint (push) Has been cancelled
LiteLLM Rust / rust-test (push) Has been cancelled
LiteLLM Rust / rust-wheel (push) Has been cancelled
Terraform Modules / fmt, validate, test (aws) (push) Has been cancelled
Terraform Modules / fmt, validate, test (gcp) (push) Has been cancelled
2026-10-13 17:33:08 -07:00
mateo-berri
82c0ed923e fix(proxy): stop the reload worker pool when the reloader exits and give reloads a longer worker healthcheck
Closing the terminal or pressing Ctrl-\ killed the reloader and left the pool parent holding the port while it respawned workers that could not start. The pool now stops once its parent reloader is gone. The reload pool also defaults the worker healthcheck to 30 seconds unless --timeout_worker_healthcheck is set, since uvicorn's 5 second default killed workers that were still booting on a reload.
2026-10-13 16:47:37 -07:00
mateo-berri
0a2b8da1bf fix(proxy): keep the original traceback when a reloaded worker fails to import the app 2026-10-13 14:07:13 -07:00
mateo-berri
0fc06accb1 test(proxy): cover the reload worker pool end to end and edit the config the proxy loads 2026-10-13 13:26:43 -07:00
mateo-berri
48729c7e73 fix(proxy): stop the reload worker pool on a broken edit instead of respawning it
Workers now load the app through a factory that exits with uvicorn's
STARTUP_FAILURE code on any import error, so the pool stops and the
reloader waits for the next save, the same as single-worker reload.
Multi-worker reload needs uvicorn>=0.50.0 for that, so older versions
keep the single-worker reload with a warning.
2026-10-13 10:35:49 -07:00