From e4012ca02d0c864128812e0b8bd47d1ea9037b85 Mon Sep 17 00:00:00 2001 From: twlite <46562212+twlite@users.noreply.github.com> Date: Sun, 19 Oct 2025 12:44:05 +0545 Subject: [PATCH] fix: bullmq job dedupe --- packages/tasks/src/drivers/bullmq.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/tasks/src/drivers/bullmq.ts b/packages/tasks/src/drivers/bullmq.ts index dbf2f76e..28dbe3bf 100644 --- a/packages/tasks/src/drivers/bullmq.ts +++ b/packages/tasks/src/drivers/bullmq.ts @@ -80,9 +80,8 @@ export class BullMQDriver implements TaskDriver { * @returns A unique job identifier */ public async create(task: TaskData): Promise { - const jobId = crypto.randomUUID(); + const taskId = `${task.name}-${typeof task.schedule === 'string' ? 'scheduled' : 'delayed'}`; const job = await this.queue.add(task.name, task.data, { - jobId, ...(typeof task.schedule === 'string' ? { repeat: { @@ -97,9 +96,14 @@ export class BullMQDriver implements TaskDriver { ? task.schedule.getTime() : task.schedule) - Date.now(), }), + jobId: taskId, + deduplication: { + id: taskId, + replace: true, + }, }); - return job.id ?? jobId; + return job.id ?? taskId; } /**