Unit content
Health checks, readiness and graceful service lifecycle
A running process is not necessarily ready to serve useful traffic.
A liveness check asks whether the process is still functioning enough that restarting it could help. A readiness check asks whether the instance should currently receive new work.
An application may be live but not ready while starting, warming a cache, waiting for a required dependency or draining before shutdown.
During a graceful shutdown, an instance should normally stop accepting new work, allow suitable in-flight operations to finish within a bounded period, then terminate. Killing it immediately can turn routine deployment into request failures or partial work.
Health checks should test the property their consumer needs. A liveness probe that fails whenever a remote dependency is briefly unavailable can create restart loops without repairing that dependency.
Lifecycle signals let deployment infrastructure distinguish “process exists” from “instance can safely receive work.”