Coder Social home page Coder Social logo

express-graceful-shutdown's Introduction

express-graceful-shutdown

Ensure that during shutdown express returns correctly with a 503

build status

Installation

npm install express-graceful-shutdown --save

Options

  • logger: a logger that provides info, warn, and error functions for recording graceful shutdown. Default: console.
  • forceTimeout: number of milliseconds to wait for server.close() to complete before calling process.exit(1). Default: 30000.

Usage

var express = require('express'),
  app = express(),
  createGracefulShutdownMiddleware = require('express-graceful-shutdown'),
  http = require('http'),
  server = http.createServer(app)

app.use(createGracefulShutdownMiddleware(server, { forceTimeout: 30000 }))

app.get('/', function(req, res) {
  res.json({ foo: 'bar' })
})

server.listen(3000)

Prettier

This project uses prettier for code formatting and linting. You can set prettier up to auto format code in your editor, or manually format code before committing with yarn prettier.

Credits

Paul Serby follow me on twitter @serby

License

Licensed under the ISC

express-graceful-shutdown's People

Contributors

bengourley avatar serby avatar tcort avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

express-graceful-shutdown's Issues

connection are not taken into account related to async handlers

These types of codes doesn't work with graceful shutdown mw:
app.use('/longop',function(req, res, next) { var i = 0; var callback = function() { if(i == 30) { res.end(); return; } res.write(i + '\n'); i++; setTimeout(callback, 1000); }; callback(); });

This kind of handlers are very important, as they are common when nodejs is the frontend, and after some little logic they propagate the requests for one or more backends.

Consider deprecating in favour of http-terminator

I have answered a variation of "how to terminate a HTTP server" many times on different Node.js support channels. Unfortunately, I couldn't recommend any of the existing libraries because they are lacking in one or another way (https://github.com/gajus/http-terminator#alternative-libraries). I have since put together a package that (I believe) is handling all the cases expected of graceful HTTP termination.

https://github.com/gajus/http-terminator

I would appreciate if you consider contributing to http-terminator and deprecating express-graceful-shutdown.

release & publish on npm

There were some commits merged a couple of weeks ago. When you have a free moment, could you bump the version number and publish the updated module to NPM?

Thanks :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.