🏹 fastify-graceful-shutdown
![NPM version](https://img.shields.io/npm/v/fastify-graceful-shutdown.svg?style=flat)
Shutdown Fastify graceful asynchronously. By default the fastify close
hook is called when SIGINT
or SIGTERM
was triggered.
Install
npm install --save fastify-graceful-shutdown
Register plugin
fastify.register(require('fastify-graceful-shutdown'))
Usage
fastify.gracefulShutdown((signal, next) => {
next()
})
Caveats
- Don't register signal handlers otherwise except with this plugin.
- Can't be used with a different logger other than Pino because we use the child logger feature to encapsulate the logs.
- Use fastify
onClose
hook to release resources in your plugin. - The process will be exited after a certain timeout (Default 10 seconds) to protect against stuck process.