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.