Nocturnally Psychologizing Millipede

    http-alive
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.4 • Public • Published

    http-alive

    NPM Version Node Version

    keep your web service always online

    it makes your service self-balanced, previously we restart our app by kill process -> start app or pm2 restart, but some requests may be handling/blocked when restarting, if we stop our app, those requests will be interrupted. http-alive helps to fork two process, one of arbiter, one of slave, when you stop the master, the arbiter will thansfer those blocked requests to the slave, in this way, your web service is always ready

    Installation

    npm i http-alive -S

    Usage

    before

    your original web service

    import * as http from 'http';
     
    http
      .createServer((req, res) => {
        res.end(`${process.pid}-${process.env.PORT}`);
      })
      .listen(3000);

    after

    add one line import 'http-alive', use process.env.PORT to define the service's port

    import * as http from 'http';
     
    import 'http-alive';
     
    const port = process.env.PORT;
     
    http
      .createServer((req, res) => {
        res.end(`${process.pid}-${process.env.PORT}`);
      })
      .listen(port);

    add a config file .httpalive in your project directory

    { "arbiter": 3000, "master": 3001, "slave": 3002 }

    please pay attention to the ports, the arbiter's port equals to your original port

    then start your service like usual

    Others

    clean process

    to completely remove process forked by http-alive, npm i httpalive -g, then run command httpalive clean

    or

    add "clean": "node ./node_modules/http-alive/bin/httpalive.js clean" to package.json's scripts, then npm run clean

    Todo

    • xxxx

    License

    MIT

    Install

    npm i http-alive

    DownloadsWeekly Downloads

    0

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    19.3 kB

    Total Files

    16

    Last publish

    Collaborators

    • cooperhsiung