# 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`