It is sometimes useful to update the running code and/or configuration of a network service, without disrupting existing connections. Usually, this is achieved by starting a new process, somehow transferring clients to it, and then exiting the old process. There are many ways to implement graceful upgrades. They vary wildly in the trade-offs they make, and how much control they afford the user. No old code keeps running after a successful upgrade. The new process has a grace period for performing initialization. Crashing during initialization is OK. Only a single upgrade is ever run in parallel.
Features
- tableflip works on Linux and macOS
- No old code keeps running after a successful upgrade
- The new process has a grace period for performing initialisation
- Crashing during initialisation is OK
- Only a single upgrade is ever run in parallel
- Integration with systemd
Categories
FrameworksLicense
BSD LicenseFollow Graceful process restarts in Go
Other Useful Business Software
Forever Free Full-Stack Observability | Grafana Cloud
Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Rate This Project
Login To Rate This Project
User Reviews
Be the first to post a review of Graceful process restarts in Go!