bernard

0.0.1 • Public • Published

bernard

npm version Build Status Code Climate Dependencies Dev Dependencies License

bernard is a Node.js graceful exit manager

bernard graceful exit manager for javascript

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.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.0.1
    0
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.0.1
    0
  • 0.0.0
    0

Package Sidebar

Install

npm i bernard

Weekly Downloads

0

Version

0.0.1

License

MIT

Last publish

Collaborators

  • fcanela