From f984f56459182375421c4af0a31393a8f411a296 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 18 Apr 2021 22:35:47 +0900 Subject: 精度を高めるためストリーミング接続中に定期的にlastActiveDateを更新するように MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/api/streaming.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/server/api') diff --git a/src/server/api/streaming.ts b/src/server/api/streaming.ts index 7224c23570..57e8c90860 100644 --- a/src/server/api/streaming.ts +++ b/src/server/api/streaming.ts @@ -35,10 +35,22 @@ module.exports = (server: http.Server) => { const main = new MainStreamConnection(connection, ev, user, app); + const intervalId = user ? setInterval(() => { + Users.update(user.id, { + lastActiveDate: new Date(), + }); + }, 1000 * 60 * 5) : null; + if (user) { + Users.update(user.id, { + lastActiveDate: new Date(), + }); + } + connection.once('close', () => { ev.removeAllListeners(); main.dispose(); redisClient.off('message', onRedisMessage); + if (intervalId) clearInterval(intervalId); }); connection.on('message', async (data) => { @@ -46,11 +58,5 @@ module.exports = (server: http.Server) => { connection.send('pong'); } }); - - if (user) { - Users.update(user.id, { - lastActiveDate: new Date(), - }); - } }); }; -- cgit v1.2.3-freya