FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

node-modules/graceful: Graceful exit when `uncaughtException` emit, base on `process.on('uncaughtException')`. · GitHub

Repository files navigation

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.

License

MIT

About

Graceful exit when `uncaughtException` emit, base on `process.on('uncaughtException')`.

Resources

Stars

250 stars

Watchers

19 watching

Forks

Releases

Used by

Contributors

Languages


Back | FazBrowse Home | New Git URL