2.0.0 • Published 11 months ago
graceful v2.0.0
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 gracefulUsage
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.