| Crates.io | shellflip |
| lib.rs | shellflip |
| version | 2.1.2 |
| created_at | 2023-04-04 11:34:43.837013+00 |
| updated_at | 2025-03-24 16:55:11.91545+00 |
| description | Graceful process restarts in Rust |
| homepage | |
| repository | https://github.com/cloudflare/shellflip |
| max_upload_size | |
| id | 830117 |
| size | 70,316 |
Graceful process restarts in Rust.
This crate facilitates upgrading or reconfiguring a service without disrupting existing connections. This is achieved by forking the process and communicating a small amount of state between the old and new processes; once the new process has started successfully the old process may terminate.
This crate has the following goals:
Inspired by the tableflip go package but not a direct replacement.
A full example is given in the restarter example service.
The main struct of interest is RestartConfig which has methods for detecting or initiating
restart. For shutting down a restarted process, the ShutdownCoordinator provides the means for
both signalling a shutdown event to spawned tasks, and awaiting their completion.
BSD licensed. See the LICENSE file for details.
🦀ノ( º _ ºノ) - respect crables!