graceful
@ladjs/graceful
Gracefully exit server (Koa), database (Mongo/Mongoose), Redis clients, Bree job schedulers, Bull job schedulers, and custom handlers.
Table of Contents
Install
npm:
npm install @ladjs/graceful
yarn:
yarn add @ladjs/graceful
Usage
Using this package will bind process event listeners when graceful.listen()
is called:
-
process.on('warning')
- will output viaconfig.logger.warn
-
process.on('unhandledRejection')
- will output viaconfig.logger.error
-
process.once('uncaughtException')
- will output viaconfig.logger.error
andprocess.exit(1)
(does not exit gracefully) -
process.on('message')
- support Windows (e.g. signals not available) and listen for message ofshutdown
and then exit gracefully -
process.once('SIGTERM')
- will exit gracefully -
process.once('SIGHUP')
- will exit gracefully -
process.once('SIGINT')
- will exit gracefully -
process.once('SIGUSR2')
- will exit gracefully (nodemon support)
This package also prevents multiple process/SIG events from triggering multiple graceful exits. Only one graceful exit can occur at a time.
See one of these following files from Lad for the most up to date usage example:
- API - https://github.com/ladjs/lad/blob/master/template/api.js
- Web - https://github.com/ladjs/lad/blob/master/template/web.js
- Bull - https://github.com/ladjs/lad/blob/master/template/bull.js
- Proxy - https://github.com/ladjs/lad/blob/master/template/proxy.js
You can also read more about Bree at https://github.com/breejs/bree.
Contributors
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |
Felix Mosheev | https://github.com/felixmosh |
License
评论