process-keep-alive

    0.0.1 • Public • Published

    process-keep-alive📡

    Version Maintenance License: MIT Downloads eslint.yml StandardJS

    A simple module using cluster to force your process running permanently.

    Important notes before you use the module

    1. The main file, that is, your application, you need to configure in the different file, like keepalive.js, for example, and run with node the keepalive file.
    2. Connection and process are very different things. Be that in mind.
    3. If your machine(including servers) is down, it is clear that this module will not work.
    4. If you shutdown the process using ctrl + c or pm2 stop, pm2 restart, the actions that trigger the "SIGINT" signal, the module will not resurrect the workers.
    5. If you send a shutdown message to the master process using process.send({ message: "shutdown" }), the cluster will shutdown all worker processes, and if you define the worker to shutdown by sending process.send({ message: "shutdown", worker: 0 }), it will only shutdown in that worker.
    6. If you send process.send({ message: "shutdown-all" }), the cluster will shutdown all workers processes.
    7. The KeepAlive module will alert a error message and close the process if you try to run the KeepAlive Cluster in worker process.

    Install

    Install with npm or yarn

    $ npm i process-keep-alive --save
    $ yarn add process-keep-alive

    Usage

    • main.js
    const { Cluster } = require("process-keep-alive")
    const cluster = new Cluster({
        /**
         * @param {string} mainFile - Defines which file the cluster will run. 
         */
        file: `${process.cwd()}/test.js`, 
        /**
         * @param {object} env - Defines the environment variables that will be used by workers. Default: process.env
         */
        env: process.env,
        workerCount: 1
    })
     
    cluster.init()
    • test.js
    setTimeout(() => undefinedMethod(), 10000)

    Contributing

    Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

    Author

    zero734kr

    License

    Copyright © 2020 제로ㅣBrazil Licensed under the MIT license.


    This file was generated by readme-generator on January 22, 2020.

    Install

    npm i process-keep-alive

    DownloadsWeekly Downloads

    3

    Version

    0.0.1

    License

    MIT

    Unpacked Size

    8.76 kB

    Total Files

    8

    Last publish

    Collaborators

    • zero734kr