Skip to content

Commit e4012ca

Browse files
committed
fix: bullmq job dedupe
1 parent f0fe24d commit e4012ca

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

packages/tasks/src/drivers/bullmq.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,8 @@ export class BullMQDriver implements TaskDriver {
8080
* @returns A unique job identifier
8181
*/
8282
public async create(task: TaskData): Promise<string> {
83-
const jobId = crypto.randomUUID();
83+
const taskId = `${task.name}-${typeof task.schedule === 'string' ? 'scheduled' : 'delayed'}`;
8484
const job = await this.queue.add(task.name, task.data, {
85-
jobId,
8685
...(typeof task.schedule === 'string'
8786
? {
8887
repeat: {
@@ -97,9 +96,14 @@ export class BullMQDriver implements TaskDriver {
9796
? task.schedule.getTime()
9897
: task.schedule) - Date.now(),
9998
}),
99+
jobId: taskId,
100+
deduplication: {
101+
id: taskId,
102+
replace: true,
103+
},
100104
});
101105

102-
return job.id ?? jobId;
106+
return job.id ?? taskId;
103107
}
104108

105109
/**

0 commit comments

Comments
 (0)