3.0.1 • Published 9 months ago

@eggjs/cluster v3.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

egg-cluster

NPM version CI Test coverage Known Vulnerabilities npm download Node.js Version

Cluster Manager for EggJS

Install

npm i @eggjs/cluster

Usage

CommonJS

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',
});

Options

ParamTypeDescription
baseDirStringdirectory of application
frameworkStringspecify framework that can be absolute path or npm package
pluginsObjectplugins for unittest
workersNumbernumbers of app workers
stickyBooleansticky mode server
portNumberport
debugPortNumberthe debug port only listen on http protocol
httpsObjectstart a https server, note: key / cert / ca should be full path to file
requireArray\|Stringwill inject into worker/agent process
pidFileStringwill save master pid to this file
startModeStringdefault is 'process', use 'worker_threads' to start the app & agent worker by worker_threads
portsArraystartup port of each app worker, such as: 7001, 7002, 7003, only effects when the startMode is 'worker_threads'
envStringcustom 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

Contributors

Contributors

Made with contributors-img.