Cluster Manager for EggJS
npm i @eggjs/clusterCommonJS
const { startCluster } = require('@eggjs/cluster');
startCluster({
  baseDir: '/path/to/app',
  framework: '/path/to/framework',
});You can specify a callback that will be invoked when application has started. However, master process will exit when catch an error.
startCluster(options).then(() => {
  console.log('started');
});ESM and TypeScript
import { startCluster } from '@eggjs/cluster';
startCluster({
  baseDir: '/path/to/app',
  framework: '/path/to/framework',
});| Param | Type | Description | 
|---|---|---|
| baseDir | String | 
directory of application | 
| framework | String | 
specify framework that can be absolute path or npm package | 
| plugins | Object | 
plugins for unittest | 
| workers | Number | 
numbers of app workers | 
| sticky | Boolean | 
sticky mode server | 
| port | Number | 
port | 
| debugPort | Number | 
the debug port only listen on http protocol | 
| https | Object | 
start a https server, note: key / cert / ca should be full path to file | 
| require | Array|String | 
will inject into worker/agent process | 
| pidFile | String | 
will save master pid to this file | 
| startMode | String | 
default is 'process', use 'worker_threads' to start the app & agent worker by worker_threads | 
| ports | Array | 
startup port of each app worker, such as: [7001, 7002, 7003], only effects when the startMode is 'worker_threads' | 
| env | String | 
custom env, default is process.env.EGG_SERVER_ENV | 
EGG_APP_CLOSE_TIMEOUT: app worker boot timeout value
EGG_AGENT_CLOSE_TIMEOUT: agent worker boot timeout value
Made with contributors-img.