From 545e286e066e1a51a0a6718d02cf5eb1bf2fbfce Mon Sep 17 00:00:00 2001 From: Stephen Palmer Date: Thu, 10 Jan 2019 12:26:05 -0600 Subject: [PATCH] Release/v6.2.4 (#97) * Issue #94: restart workers that exit by error or by signal * Issue #95: fix worker memory leak - delete cluster message callback data after use * Bumping version to 6.2.4 --- lib/cluster_messages.js | 1 + lib/unity_cache_server.js | 10 ++++++++++ package-lock.json | 2 +- package.json | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/cluster_messages.js b/lib/cluster_messages.js index 03280b6..0c2da1b 100644 --- a/lib/cluster_messages.js +++ b/lib/cluster_messages.js @@ -42,6 +42,7 @@ class ClusterMessages extends EventEmitter { if(!cb) return; cb.resolve(message.result); + delete this._callbacks[message.msgId]; }); } } diff --git a/lib/unity_cache_server.js b/lib/unity_cache_server.js index d3fde1e..45031c2 100644 --- a/lib/unity_cache_server.js +++ b/lib/unity_cache_server.js @@ -185,6 +185,16 @@ class UnityCacheServer { for(let i = 0; i < workers; i++) { cluster.fork(); } + + cluster.on('exit', (deadWorker, code, signal) => { + if (signal) { + console.log(`[Cluster: ${deadWorker.id}] !Process killed by signal: ${signal}`); + } else if (code !== 0) { + console.log(`[Cluster: ${deadWorker.id}] !Process exited with error code: ${code}`); + } + + cluster.fork(); + }); } if(cluster.isWorker || workers === 0) { diff --git a/package-lock.json b/package-lock.json index c70079a..192686a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "unity-cache-server", - "version": "6.2.3", + "version": "6.2.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 8935e97..0237cda 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "unity-cache-server", - "version": "6.2.3", + "version": "6.2.4", "description": "Unity Cache Server", "main": "lib/index.js", "engines": {