# http/cluster-reload
Trigger a new-generation cluster reload manually. Spawns fresh workers
(each binding `SO_REUSEPORT`), then destroys the old workers and
increments `generation`.
## Syntax
[http/cluster-reload]
## Returns
Updated cluster info map (same shape as `http/cluster-metrics`).
Returns an error if no cluster is running.
## Behaviour
1. N fresh worker runtimes are spawned. The kernel immediately starts
routing accepts to them.
2. Old workers' listener fds are closed. The kernel stops routing to
them.
3. Old worker runtimes are joined and destroyed.
4. `generation` is incremented.
In-flight requests on old workers are interrupted when their runtimes
are joined; clients retry and hit fresh workers.
The parent's file watcher calls this automatically on app-file change.
Use the stdlib function form to trigger a reload from a script (e.g. an HTTP
admin endpoint).
## Example
# Admin endpoint: POST /admin/reload def admin-reload {|req res| set info [http/cluster-reload] http/json $res $info }
## See Also
`http/serve-cluster`, `http/cluster-metrics`, `http/cluster-status`,
`http/cluster-stop`