From 9cd7d79b643fb22eb34f597c51637375a6abfe74 Mon Sep 17 00:00:00 2001 From: Gergo Moricz Date: Thu, 11 Jul 2024 20:35:15 +0200 Subject: [PATCH] feat: avoid double SIGINT crashing --- apps/api/src/services/queue-worker.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/api/src/services/queue-worker.ts b/apps/api/src/services/queue-worker.ts index d6801856..90d0dac5 100644 --- a/apps/api/src/services/queue-worker.ts +++ b/apps/api/src/services/queue-worker.ts @@ -103,7 +103,12 @@ wsq.process( } ); +let shuttingDown = false; + process.on("SIGINT", async () => { + if (shuttingDown) return; + shuttingDown = true; + console.log("Gracefully shutting down..."); await wsq.pause(true, true); @@ -112,8 +117,6 @@ process.on("SIGINT", async () => { const jobs = await Promise.all(myJobs.map(x => wsq.getJob(x))); console.log("Removing", jobs.length, "jobs..."); await Promise.all(jobs.map(async x => { - // await wsq.client.del(await x.lockKey()); - // await x.takeLock(); await x.moveToFailed({ message: "interrupted" }); await x.remove(); }));