bernard
v0.0.1
Published
Graceful exit manager
Downloads
4
Readme
bernard
bernard
is a Node.js graceful exit manager
Table of Contents
Introduction
Services should exit when asked to or when a no busines logic related error happens. When this happens, chances are the service is still processing some requests. An immediate exit can disrupt this requests and cause (specially in non-transacting environments like microservices) data inconsistencies.
Rescue-parachute helps to stop the execution in an ordered manner. For example, stopping the web server from receiving new requests, then the database connection and finally closing the process.
Installing
npm install --save bernard
Usage
Here you have a illustrative example on how to use it with Express:
const express = require('express');
const app = express();
const server = app.listen(9000);
const Bernard = require('bernard');
const bernard = new Bernard();
bernard.prepare();
bernard.addTask({
title: 'Express Server',
handler: function() {
return server.close();
}
});
More examples available in docs/examples
directory.
Contributing and help
Criticism
If you think something could be done better or simply sucks, bring up a issue on the tracker. Don't be shy. I really love feedback and technical discussions.
Developing
Pull requests are welcome (and will make me cry in joy). Also, did I already say that I love technical discussions? Feel free to open a issue on the tracker if you have any doubt.
Bug reports, feature requests and discussion
Use the GitHub issue tracker to report any bugs or file feature requests. In case you found a bug and have no GitHub account, feel free to email me: fcanela.dev at gmail dot com.
License
Copyright (c) 2017 Francisco Canela. Licensed under the MIT license.
Frequently Asked Questions
Should I use it in my project?
Probably not. At least, not yet. I usually follow semver for modules versioning and while it is at 0.x.x you can expect breaking changes.
This project documentation sucks
Yes, I know. Unfortunately I have limited time resources. Feel free to open a issue or sumbit a pull request if you can help me improving this.
Who draw the Saint Bernard?
I borrowed it from Landis Blair blog, which had copyleft license.