From d9398b955816c68a22826490461b1ca5585493fd Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Mon, 15 Sep 2025 23:43:27 -0600 Subject: [PATCH] feat(workers): add third worker and increase concurrency for existing workers --- apps/schedules/src/index.ts | 3 ++- apps/schedules/src/workers.ts | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/apps/schedules/src/index.ts b/apps/schedules/src/index.ts index af8ad8ff..c37deac5 100644 --- a/apps/schedules/src/index.ts +++ b/apps/schedules/src/index.ts @@ -11,7 +11,7 @@ import { } from "./queue.js"; import { jobQueueSchema } from "./schema.js"; import { initializeJobs } from "./utils.js"; -import { firstWorker, secondWorker } from "./workers.js"; +import { firstWorker, secondWorker, thirdWorker } from "./workers.js"; const app = new Hono(); @@ -91,6 +91,7 @@ export const gracefulShutdown = async (signal: string) => { logger.warn(`Received ${signal}, closing server...`); await firstWorker.close(); await secondWorker.close(); + await thirdWorker.close(); process.exit(0); }; diff --git a/apps/schedules/src/workers.ts b/apps/schedules/src/workers.ts index 1a6d2470..37f24b38 100644 --- a/apps/schedules/src/workers.ts +++ b/apps/schedules/src/workers.ts @@ -7,22 +7,34 @@ import { runJobs } from "./utils.js"; export const firstWorker = new Worker( "backupQueue", async (job: Job) => { - logger.info({ data: job.data }, "Running job"); + logger.info({ data: job.data }, "Running job first worker"); await runJobs(job.data); }, { - concurrency: 50, + concurrency: 100, connection, }, ); export const secondWorker = new Worker( "backupQueue", async (job: Job) => { - logger.info({ data: job.data }, "Running job"); + logger.info({ data: job.data }, "Running job second worker"); await runJobs(job.data); }, { - concurrency: 50, + concurrency: 100, + connection, + }, +); + +export const thirdWorker = new Worker( + "backupQueue", + async (job: Job) => { + logger.info({ data: job.data }, "Running job third worker"); + await runJobs(job.data); + }, + { + concurrency: 100, connection, }, );