fastify-graceful-shutdown

Gracefully shutdown fastify

Usage no npm install needed!

<script type="module">
  import fastifyGracefulShutdown from 'https://cdn.skypack.dev/fastify-graceful-shutdown';
</script>

README

🏹 fastify-graceful-shutdown

styled with prettier NPM version

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.