graceful-shutdown

Implement graceful shutdown procedures to handle SIGTERM signals, drain connections, complete in-flight requests, and clean up resources properly. Use when deploying containerized applications, handling server restarts, or ensuring zero-downtime deployments.

By aj-geddes · 418 installs

npx skills add aj-geddes/useful-ai-prompts --skill graceful-shutdown

Source repository · Upstream listing

Graceful Shutdown Table of Contents [Overview]( overview) [When to Use]( when to use) [Quick Start]( quick start) [Reference Guides]( reference guides) [Best Practices]( best practices) Overview Implement proper shutdown procedures to ensure all requests are completed, connections are closed, and resources are released before process termination. When to Use Kubernetes/Docker deployments Rolling updates and deployments Server restarts Load balancer drain periods Zero downtime deployments Process managers (PM2, systemd) Long running background jobs Database connection cleanup Quick Start Minimal working example: Reference Guides Detailed implementations in the references/ directory: Guide Contents [Express.js Graceful Shutdown](references/expressjs graceful shutdown.md) Express.js Graceful Shutdown [Kubernetes Aware Shutdown](references/kubernetes aware shutdown.md) Kubernetes Aware Shutdown [Worker Process Shutdown](references/worker process shutdown.md) Worker Process Shutdown [Database Connection Pool Shutdown](references/database connection pool shutdown.md) Database Connection Pool Shutdown [PM2 Graceful Shutdown](references/pm2 graceful shutdown.md) PM2 Graceful Shutdown [Python/Flask Graceful Shutdown](references/pythonflask graceful shutdown.md) Python/Flask Graceful Shutdown Best Practices ✅ DO Handle SIGTERM and SIGINT signals Stop accepting new requests immediately Wait for in flight requests to complete Set reasonable shutdown timeouts Close database connections properly Flush logs and metrics Fail health checks during shutdown Test shutdown procedures Log shutdown progress Use graceful shutdown in containers ❌ DON'T Ignore shutdown signals Force kill processes without cleanup Set unreasonably long timeouts Skip resource cleanup Forget to close connections Block shutdown indefinitely