Skip to content

Latest commit

 

History

History
32 lines (23 loc) · 1.26 KB

README.md

File metadata and controls

32 lines (23 loc) · 1.26 KB

node http(s) server graceful shutdown

Build Status

Adds a shutdown(callback) to nodes http(s) servers. shutdown() will stop accepting new connections and waits until all pending requests are finished.

This is very similar to the node builtin close() function with the only difference that shutdown() destroys idle connections (keep alive connections). This is done using socket.setTimeout(), which destroys sockets after some time without data transfer (10 seconds as default).

Usage

var enableGracefulShutdown = require('server-graceful-shutdown');

var server = http.createServer(function(req, res) {
  // do stuff
});

server.listen(80);

// enhance server with a 'shutdown' function
enableGracefulShutdown(server);
// you can set the socket idle timeout using the second parameter 
// e.g. enableGracefulShutdown(server, 5000);

// some time later...
server.shutdown(function() {
	// all requests are finished 
	// we can 
	// process.exit() 
	// now
});