A service launcher supporting two modes, development and production.
In development mode (default), forever-monitor is used to launch a single instance and keep it alive.
In production mode,
recluster is used
to launch a node.js cluster of
a given service.
A PID file is created in os.tmpdir()
with the file name ${pidDir}/cluster-serverice-master-${serviceName}.pid
.
By default, as many workers are stated as CPU cores can be detected.
The cluster also listens to SIGUSR2
and SIGTERM
signals.
const cluster = new ClusterServer(options);
cluster.run('./service.js');
done();
-
logger
Winston compatible logger like Restore Logger. -
serviceName
[srv
] name of the service (used to build PID file ). -
mode
[development
] the mode name,development
orproduction
. -
pidDir
[os.tmpdir()
] Directory where to store the PID file . -
workerCount
[number of cores] The number of workers to launch in production mode. -
nodeOptions
[] command line options to node for development mode.