Decorator for Express apps to enable graceful shutdown
npm install @bookmate/with-express-graceful-shutdownBased on ideas from:
1) express-graceful-shutdown middleware, which in turn used this blog post for inspiration;
npm install @bookmate/with-express-graceful-shutdown --save
``javascript
const withGracefulShutdown = require('@bookmate/with-express-graceful-shutdown');
const app = require('./app'); // a regular Express app
const logger = require('./logger') // a custom logger
const expressPort = 3000;
const forceTimout = 30 * 1000; // timeout after which the app should be shut down forcefully
const options = {
logger,
forceTimout
}
const server = app.listen(expressPort, () => {
// your server is running
});
withGracefulShutdown(server, 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: 60000.