# egg-cluster
|
|
[![NPM version][npm-image]][npm-url]
|
[![build status][travis-image]][travis-url]
|
[![Test coverage][codecov-image]][codecov-url]
|
[![David deps][david-image]][david-url]
|
[![Known Vulnerabilities][snyk-image]][snyk-url]
|
[![npm download][download-image]][download-url]
|
|
[npm-image]: https://img.shields.io/npm/v/egg-cluster.svg?style=flat-square
|
[npm-url]: https://npmjs.org/package/egg-cluster
|
[travis-image]: https://img.shields.io/travis/eggjs/egg-cluster.svg?style=flat-square
|
[travis-url]: https://travis-ci.org/eggjs/egg-cluster
|
[codecov-image]: https://codecov.io/github/eggjs/egg-cluster/coverage.svg?branch=master
|
[codecov-url]: https://codecov.io/github/eggjs/egg-cluster?branch=master
|
[david-image]: https://img.shields.io/david/eggjs/egg-cluster.svg?style=flat-square
|
[david-url]: https://david-dm.org/eggjs/egg-cluster
|
[snyk-image]: https://snyk.io/test/npm/egg-cluster/badge.svg?style=flat-square
|
[snyk-url]: https://snyk.io/test/npm/egg-cluster
|
[download-image]: https://img.shields.io/npm/dm/egg-cluster.svg?style=flat-square
|
[download-url]: https://npmjs.org/package/egg-cluster
|
|
Cluster Manager for Egg
|
|
---
|
|
## Install
|
|
```bash
|
$ npm i egg-cluster --save
|
```
|
|
## Usage
|
|
```js
|
const startCluster = require('egg-cluster').startCluster;
|
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.
|
|
```js
|
startCluster(options, () => {
|
console.log('started');
|
});
|
```
|
|
## Options
|
|
| 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 |
|
| https | `Object` | start a https server, note: `key` / `cert` should be full path to file |
|
| require | `Array\|String` | will inject into worker/agent process |
|
| pidFile | `String` | will save master pid to this file |
|
|
## Env
|
|
EGG_APP_CLOSE_TIMEOUT: app worker boot timeout value
|
|
EGG_AGENT_CLOSE_TIMEOUT: agent worker boot timeout value
|
|
## License
|
|
[MIT](LICENSE)
|