From 09ba826b33ed7cc31564c1b9a4f98d5e4a6c9ec5 Mon Sep 17 00:00:00 2001 From: HF Date: Mon, 4 Jul 2022 00:52:17 +0200 Subject: [PATCH] promisify terminating dead websockets --- src/socket/SocketServer.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/socket/SocketServer.js b/src/socket/SocketServer.js index 6e959ae0..4da9bfeb 100644 --- a/src/socket/SocketServer.js +++ b/src/socket/SocketServer.js @@ -338,15 +338,21 @@ class SocketServer { checkHealth() { const ts = Date.now() - 60 * 1000; + const promises = []; this.wss.clients.forEach((ws) => { - if ( - ws.readyState === WebSocket.OPEN - && ts > ws.timeLastMsg - ) { - logger.info(`Killing dead websocket from ${ws.user.ip}`); - ws.terminate(); - } + promises.push(new Promise((resolve) => { + if ( + ws.readyState === WebSocket.OPEN + && ts > ws.timeLastMsg + ) { + logger.info(`Killing dead websocket from ${ws.user.ip}`); + ws.terminate(); + resolve(); + } + }), + ); }); + return promises; } onlineCounterBroadcast() {