Fix BullMQ job dedup — remove completed/failed jobs

Completed jobs with the same jobId block new jobs from being added.
Add removeOnComplete and removeOnFail to all job options so the same
task can be re-triggered after completion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Daniel Samson
2026-04-12 16:37:52 +01:00
co-authored by Claude Opus 4.6
parent 2cdf68ddff
commit 6f9247fc68
+6
View File
@@ -161,6 +161,8 @@ export class TaskQueue {
jobId: `create-${key}`, jobId: `create-${key}`,
attempts: 3, attempts: 3,
backoff: { type: "exponential", delay: 5000 }, backoff: { type: "exponential", delay: 5000 },
removeOnComplete: true,
removeOnFail: true,
}, },
); );
} catch (err: unknown) { } catch (err: unknown) {
@@ -201,6 +203,8 @@ export class TaskQueue {
jobId: `cleanup-${workspaceName}`, jobId: `cleanup-${workspaceName}`,
attempts: 5, attempts: 5,
backoff: { type: "exponential", delay: 10000 }, backoff: { type: "exponential", delay: 10000 },
removeOnComplete: true,
removeOnFail: true,
}, },
); );
@@ -311,6 +315,8 @@ export class TaskQueue {
jobId: `cleanup-stale-${ws.name}-${Date.now()}`, jobId: `cleanup-stale-${ws.name}-${Date.now()}`,
attempts: 5, attempts: 5,
backoff: { type: "exponential", delay: 10000 }, backoff: { type: "exponential", delay: 10000 },
removeOnComplete: true,
removeOnFail: true,
}, },
); );
} catch (err) { } catch (err) {