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.

    Keywords

    Install

    npm i bernard

    DownloadsWeekly Downloads

    2

    Version

    0.0.1

    License

    MIT

    Last publish

    Collaborators

    • fcanela