From 32521523c1b0d781f5829046dc69adf5365d9170 Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Fri, 21 Mar 2025 03:46:17 +0800 Subject: [PATCH] misc: add flag for disabling workers --- backend/src/lib/config/env.ts | 1 + backend/src/queue/queue-service.ts | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/backend/src/lib/config/env.ts b/backend/src/lib/config/env.ts index 0d13939a2..4ca9c1b12 100644 --- a/backend/src/lib/config/env.ts +++ b/backend/src/lib/config/env.ts @@ -56,6 +56,7 @@ const envSchema = z // TODO(akhilmhdh): will be changed to one ENCRYPTION_KEY: zpStr(z.string().optional()), ROOT_ENCRYPTION_KEY: zpStr(z.string().optional()), + QUEUE_WORKERS_ENABLED: zodStrBool.default("true"), HTTPS_ENABLED: zodStrBool, // smtp options SMTP_HOST: zpStr(z.string().optional()), diff --git a/backend/src/queue/queue-service.ts b/backend/src/queue/queue-service.ts index 5d6b8b60b..94006b5a5 100644 --- a/backend/src/queue/queue-service.ts +++ b/backend/src/queue/queue-service.ts @@ -272,10 +272,13 @@ export const queueServiceFactory = ( connection }); - workerContainer[name] = new Worker(name, jobFn, { - ...queueSettings, - connection - }); + const appCfg = getConfig(); + if (appCfg.QUEUE_WORKERS_ENABLED) { + workerContainer[name] = new Worker(name, jobFn, { + ...queueSettings, + connection + }); + } }; const startPg = async ( @@ -307,6 +310,11 @@ export const queueServiceFactory = ( event: U, listener: WorkerListener[U] ) => { + const appCfg = getConfig(); + if (!appCfg.QUEUE_WORKERS_ENABLED) { + return; + } + const worker = workerContainer[name]; worker.on(event, listener); };