Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
cluster-harakiri
Advanced tools
Readme
This library provides a wrapper around the standard node
cluster
module. The library will automatically terminate and restart cluster workers based on time or connections. These parameters can be configured for the particular use case using environmental variables or programmatic initialization.
This project requires NodeJS (version 16 or later) and NPM. Node and NPM are really easy to install. To make sure you have them available on your machine, try running the following command.
$ npm -v && node -v
8.15.0
v16.17.0
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
BEFORE YOU INSTALL: please read the prerequisites
To install and set up the library, run:
$ npm install cluster-harakiri
Or if you prefer using Yarn:
$ yarn add cluster-harakiri
Start with cloning this repo on your local machine:
$ git clone https://github.com/smartfile/node-cluster-harakiri.git
$ cd node-cluster-harakiri
$ npm test
$ npm run lint
setupHarakiri(options)
Supported options and result fields for the setupHarakiri
method are listed below. Most options
are also available as environmental variables. It is not necessary to call this method. Options
can be set in the environment and this method will be called if not already called when workers
are created.
ttl
Type | Default value | Environmental variable |
---|---|---|
number | HARAKIRI_WORKER_TTL |
If present, the workers will be terminated after at least ttl
seconds.
connectionLimit
Type | Default value | Environmental variable |
---|---|---|
number | HARAKIRI_WORKER_CONN_LIMIT |
If present, the workers will be terminated after at least connectionLimit
connections.
checkInterval
Type | Default value | Environmental variable |
---|---|---|
number | 30 | HARAKIRI_WORKER_CHECK_INTERVAL |
The periodic interval, in seconds, to check if there are any workers to terminate.
termDelay
Type | Default value | Environmental variable |
---|---|---|
number | HARAKIRI_WORKER_TERM_DELAY |
If present, the amount of time to delay, in seconds, between terminating workers. This can be used to prevent many or all workers from being terminated at the same time.
closeTimeout
Type | Default value | Environmental variable |
---|---|---|
number | HARAKIRI_WORKER_CLOSE_TIMEOUT |
If present, the amount of time, in seconds, to wait for the worker to exit after termination. This can be used to prevent a worker from running indefinitely if the connection stays alive.
restartWorker
Type | Default value | Environmental variable |
---|---|---|
boolean | true |
If true, creates a new worker when a worker terminates.
git checkout -b my-new-feature
git add .
git commit -am 'Add some feature'
git push origin my-new-feature
We use SemVer for versioning. For the versions available, see the tags on this repository.
MIT License © SmartFile
FAQs
Controls creation and removal of workers at a regular interval
The npm package cluster-harakiri receives a total of 1 weekly downloads. As such, cluster-harakiri popularity was classified as not popular.
We found that cluster-harakiri demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.