llgoyal6/shutdown-safetyv0.3.0Public
Shutdown safety
Answers one question about a codebase: will this service lose work when the orchestrator stops it? Every rolling deploy sends SIGTERM, and a process that ignores it keeps running until SIGKILL arrives, so whatever was in flight at that moment is gone - the half-written HTTP responses, the queue message that was
Read the full description
already deleted, the row that was half inserted - and it looks completely healthy in every test. Finds a long-running server or worker with no signal handler at all, which is the base case and the most common; a handler that calls os._exit, sys.exit, process.exit or os.Exit instead of draining, which is worse than none because it makes the problem look solved; an HTTP server started with no shutdown path anywhere in its file or package, including http.ListenAndServe and Flask app.run which expose no shutdown API at all; a consumer loop over a queue, Kafka, SQS or Redis BLPOP whose only exit is a kill; a Dockerfile whose CMD or ENTRYPOINT is shell form, so PID 1 is sh and the signal never reaches the pr
Before you run it12 local tools
Everything here is checked on your machine when rote inspects the play. This page never learns what you have installed or which credentials you hold.
- ○bashlocal tool
Must be on your PATH when used. minimum version undeclared.
- ○python3local tool
Requires >=3.8.0. Run rote play inspect to check your host; unverified versions remain unknown.
- ○findlocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○greplocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○xargslocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○sedlocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○sortlocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○trlocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○catlocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○mktemplocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○wclocal tooloptional
Must be on your PATH when used. minimum version undeclared.
- ○rmlocal tooloptional
Must be on your PATH when used. minimum version undeclared.
Inputs2, 1 required
rote asks for these before running and shows the defaults it will use.
- Root
rootDirectory tree whose long-running services should be checked for graceful shutdown
requiredstringexample.custom value allowed - Depth
depthHow many directory levels below root to search for services, Dockerfiles and manifests
optionalstringdefault8example3custom value allowed
What it changes
No write operations are declared in this version's manifest.
Credentials remain in the recipient's local rote vault; this page and the publisher never receive them.
Runtime details
- rote CLIversion 0.62.0 or newer
- Servicesnone declared
- Digest
sha256:da2466c95da0053ea7e86951168710d517367ae6d8298edb57ae1bb508d5dc0a - Archive size39020 bytes
- Published2026-09-04T04:33:02.298969+00:00
- Published withrote 0.78.0
Credential values and current readiness remain local. Opening this page never prompts for a credential, opens an authorization browser, or calls a service this play uses.
A play is a published, versioned automation package that runs on your own machine through rote, a free command-line tool. Opening this page installs nothing and runs nothing.