Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eggjs/egg-cluster
cluster manager for egg
https://github.com/eggjs/egg-cluster
cluster egg process-manager
Last synced: about 1 month ago
JSON representation
cluster manager for egg
- Host: GitHub
- URL: https://github.com/eggjs/egg-cluster
- Owner: eggjs
- License: mit
- Created: 2016-06-18T07:02:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-26T13:38:36.000Z (about 2 months ago)
- Last Synced: 2024-10-29T21:05:51.813Z (about 1 month ago)
- Topics: cluster, egg, process-manager
- Language: JavaScript
- Homepage:
- Size: 361 KB
- Stars: 219
- Watchers: 29
- Forks: 57
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-egg - egg-cluster - 集群管理。 ![](https://img.shields.io/github/stars/eggjs/egg-cluster.svg?style=social&label=Star) ![](https://img.shields.io/npm/dm/egg-cluster.svg?style=flat-square) (仓库 / [内置插件](https://eggjs.org/zh-cn/basics/plugin.html#%E6%8F%92%E4%BB%B6%E5%88%97%E8%A1%A8))
README
# egg-cluster
[![NPM version][npm-image]][npm-url]
[![CI](https://github.com/eggjs/egg-cluster/actions/workflows/nodejs.yml/badge.svg)](https://github.com/eggjs/egg-cluster/actions/workflows/nodejs.yml)
[![Test coverage][codecov-image]][codecov-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
[codecov-image]: https://codecov.io/github/eggjs/egg-cluster/coverage.svg?branch=master
[codecov-url]: https://codecov.io/github/eggjs/egg-cluster?branch=master
[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-clusterCluster Manager for EggJS
---
## 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 |
| 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 |## Env
EGG_APP_CLOSE_TIMEOUT: app worker boot timeout value
EGG_AGENT_CLOSE_TIMEOUT: agent worker boot timeout value
## License
[MIT](LICENSE)
## Contributors
|[
popomore](https://github.com/popomore)
|[
fengmk2](https://github.com/fengmk2)
|[
atian25](https://github.com/atian25)
|[
dead-horse](https://github.com/dead-horse)
|[
killagu](https://github.com/killagu)
|[
semantic-release-bot](https://github.com/semantic-release-bot)
|
| :---: | :---: | :---: | :---: | :---: | :---: |
|[
ngot](https://github.com/ngot)
|[
hyj1991](https://github.com/hyj1991)
|[
whxaxes](https://github.com/whxaxes)
|[
iyuq](https://github.com/iyuq)
|[
nightink](https://github.com/nightink)
|[
mansonchor](https://github.com/mansonchor)
|
|[
ImHype](https://github.com/ImHype)
|[
gxcsoccer](https://github.com/gxcsoccer)
|[
waitingsong](https://github.com/waitingsong)
|[
sjfkai](https://github.com/sjfkai)
|[
ahungrynoob](https://github.com/ahungrynoob)
|[
qingdengyue](https://github.com/qingdengyue)
|
[
wenjiasen](https://github.com/wenjiasen)
|[
czy88840616](https://github.com/czy88840616)
|[
gxkl](https://github.com/gxkl)This project follows the git-contributor [spec](https://github.com/xudafeng/git-contributor), auto updated at `Mon Jun 03 2024 10:59:15 GMT+0800`.