From 4e233318a95c3b6bc2219eb95110af33df39bcd2 Mon Sep 17 00:00:00 2001 From: zkldi <20380519+zkldi@users.noreply.github.com> Date: Fri, 12 Nov 2021 03:00:23 +0000 Subject: [PATCH] Close the score import redis queue on shutdown/endtests --- server/src/lib/score-import/worker/queue.ts | 4 ++++ server/src/main.ts | 4 ++++ server/src/test-utils/close-connections.ts | 2 ++ 3 files changed, 10 insertions(+) diff --git a/server/src/lib/score-import/worker/queue.ts b/server/src/lib/score-import/worker/queue.ts index 1d8fc6f35..e610a69c0 100644 --- a/server/src/lib/score-import/worker/queue.ts +++ b/server/src/lib/score-import/worker/queue.ts @@ -5,3 +5,7 @@ import { Environment, TachiConfig } from "lib/setup/config"; const ScoreImportQueue = new Queue(`${TachiConfig.NAME} Score Import Queue`, Environment.redisUrl); export default ScoreImportQueue; + +export function CloseScoreImportQueue() { + return ScoreImportQueue.close(); +} diff --git a/server/src/main.ts b/server/src/main.ts index 1e75407c0..898ccb08f 100644 --- a/server/src/main.ts +++ b/server/src/main.ts @@ -14,6 +14,7 @@ import { FormatVersion } from "./lib/constants/version"; import fetch from "utils/fetch"; import http from "http"; import { CloseRedisConnection } from "external/redis/redis"; +import { CloseScoreImportQueue } from "lib/score-import/worker/queue"; const logger = CreateLogCtx(__filename); @@ -79,6 +80,9 @@ process.on("SIGTERM", () => { logger.info("Closing Redis Connection.", { shutdownInfo: true }); CloseRedisConnection(); + logger.info("Closing Score Import Queue.", { shutdownInfo: true }); + CloseScoreImportQueue(); + logger.info("Everything closed. Waiting for process to exit naturally.", { shutdownInfo: true, }); diff --git a/server/src/test-utils/close-connections.ts b/server/src/test-utils/close-connections.ts index 08afb7f88..b6d8c1e52 100644 --- a/server/src/test-utils/close-connections.ts +++ b/server/src/test-utils/close-connections.ts @@ -2,10 +2,12 @@ import { CloseMongoConnection } from "external/mongo/db"; import { CloseRedisPubSub } from "external/redis/redis-IPC"; import { CloseRedisConnection } from "external/redis/redis"; import { CloseServerConnection } from "./mock-api"; +import { CloseScoreImportQueue } from "lib/score-import/worker/queue"; export async function CloseAllConnections() { await CloseMongoConnection(); await CloseServerConnection(); await CloseRedisConnection(); await CloseRedisPubSub(); + await CloseScoreImportQueue(); }