Graceful exit when `uncaughtException` emit, base on `process.on('uncaughtException')`.
TypeScript
248
40 commits
updated Dec 15, 2024
Graceful exit when uncaughtException emit, base on process.on('uncaughtException').
It's the best way to handle uncaughtException on current situations.
npm install graceful
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',
});
import { graceful } from 'graceful';
Made with contributors-img.
Overall
Maintained
Code review
npm
Latest release
Releases this year
Graceful exit when `uncaughtException` emit, base on `process.on('uncaughtException')`.
TypeScript
248
40 commits
updated Dec 15, 2024
Graceful exit when uncaughtException emit, base on process.on('uncaughtException').
It's the best way to handle uncaughtException on current situations.
npm install graceful
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',
});
import { graceful } from 'graceful';
Made with contributors-img.
Overall
Maintained
Code review
npm
Latest release
Releases this year