From e1558d35b0e2d190817f1dd6889c0b7c9924199c Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Mon, 1 Jun 2026 10:44:53 -0700 Subject: [PATCH] use queue type on config --- server/src/config/services.ts | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/server/src/config/services.ts b/server/src/config/services.ts index 04966d6e2..ed8e3a83a 100644 --- a/server/src/config/services.ts +++ b/server/src/config/services.ts @@ -123,7 +123,9 @@ import { IMaintenanceWindowsRepository, } from "@/repositories/index.js"; import { ILogger } from "@/utils/logger.js"; -// import { AppError } from "@/utils/AppError.js"; +import { AppError } from "@/utils/AppError.js"; +import { QueueModes, type QueueMode } from "@/types/settings.js"; +import { env } from "process"; export type InitializedServices = { settingsService: ISettingsService; @@ -168,10 +170,12 @@ export const initializeServices = async ({ logger, envSettings, settingsService, + queueMode = "primary", }: { logger: ILogger; envSettings: EnvConfig; settingsService: ISettingsService; + queueMode?: QueueMode; }): Promise => { // Create DB @@ -345,10 +349,19 @@ export const initializeServices = async ({ geoChecksRepository ); + if (queueMode === "worker" && envSettings.queueType !== "lessSimpleQueue") { + throw new AppError({ + message: `Worker mode requires QUEUE_TYPE="lessSimpleQueue" got ${envSettings.queueType}`, + status: 500, + service: "config services", + method: "initializeServices", + }); + } + let jobQueue: IJobQueue; switch (envSettings.queueType) { case "lessSimpleQueue": - jobQueue = await LessSimpleQueue.create(logger, queueHelper, monitorsRepository, envSettings); + jobQueue = await LessSimpleQueue.create(logger, queueHelper, monitorsRepository, envSettings, queueMode); break; default: jobQueue = await SuperSimpleQueue.create(logger, queueHelper, monitorsRepository);