process-keep-alive📡
A simple module using cluster to force your process running permanently.
Important notes before you use the module
- 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.
- Connection and process are very different things. Be that in mind.
- If your machine(including servers) is down, it is clear that this module will not work.
- If you shutdown the process using
ctrl + c
orpm2 stop
,pm2 restart
, the actions that trigger the "SIGINT" signal, the module will not resurrect the workers. - If you send a
shutdown
message to the master process usingprocess.send({ message: "shutdown" })
, the cluster will shutdown all worker processes, and if you define the worker to shutdown by sendingprocess.send({ message: "shutdown", worker: 0 })
, it will only shutdown in that worker. - If you send
process.send({ message: "shutdown-all" })
, the cluster will shutdown all workers processes. - The KeepAlive module will alert a error message and close the process if you try to run the KeepAlive Cluster in worker process.
Install
$ 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.