graceful
v2.0.0
Published
Graceful exit when `uncaughtException` emit, base on `process.on('uncaughtException')`.
Downloads
90,968
Maintainers
Readme
graceful
Graceful exit when uncaughtException
emit, base on process.on('uncaughtException')
.
Why we should use this module
It's the best way to handle uncaughtException
on current situations.
Install
npm install graceful
Usage
Please see express_with_cluster example.
This below code just for dev demo, don't use it on production env:
const express = require('express');
const { graceful } = require('graceful');
const app = express()
.use()
.use(function(req, res){
if (Math.random() > 0.5) {
foo.bar();
}
setTimeout(function() {
if (Math.random() > 0.5) {
throw new Error('Asynchronous error from timeout');
} else {
res.end('Hello from Connect!');
}
}, 100);
setTimeout(function() {
if (Math.random() > 0.5) {
throw new Error('Mock second error');
}
}, 200);
})
.use(function(err, req, res, next) {
res.end(err.message);
});
const server = app.listen(1984);
graceful({
servers: [server],
killTimeout: '30s',
});
If you have multi servers on one process, you just add them to server
:
graceful({
servers: [server1, server2, restapi],
killTimeout: '15s',
});
ESM and TypeScript
import { graceful } from 'graceful';
Contributors
Made with contributors-img.