From e4bf0392af81fc48bd2e5c1c321a543b347892c2 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 28 Jul 2018 03:55:41 +0900 Subject: クラスタ数を制限するオプションを追加 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/types.ts | 2 ++ src/index.ts | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/config/types.ts b/src/config/types.ts index a3d55e2843..f220e15822 100644 --- a/src/config/types.ts +++ b/src/config/types.ts @@ -92,6 +92,8 @@ export type Source = { }; google_maps_api_key: string; + + clusterLimit?: number; }; /** diff --git a/src/index.ts b/src/index.ts index 9c16c4d223..eae25762ec 100644 --- a/src/index.ts +++ b/src/index.ts @@ -66,7 +66,7 @@ async function masterMain() { Logger.succ('Misskey initialized'); - spawnWorkers(() => { + spawnWorkers(config.clusterLimit, () => { Logger.succ('All workers started'); Logger.info(`Now listening on port ${config.port} on ${config.url}`); }); @@ -137,14 +137,16 @@ async function init(): Promise { return config; } -function spawnWorkers(onComplete: Function) { +function spawnWorkers(limit: number, onComplete: Function) { // Count the machine's CPUs const cpuCount = os.cpus().length; - const progress = new ProgressBar(cpuCount, 'Starting workers'); + const count = limit || cpuCount; + + const progress = new ProgressBar(count, 'Starting workers'); // Create a worker for each CPU - for (let i = 0; i < cpuCount; i++) { + for (let i = 0; i < count; i++) { const worker = cluster.fork(); worker.on('message', message => { if (message === 'ready') { -- cgit v1.2.3-freya