queue-add-without-job-id
infoA job or message is enqueued without the queue's deduplication id (jobId, MessageDeduplicationId, event id).
Why it goes wrong
When the handler is redelivered it enqueues the work again, and the downstream job runs twice.
Safe pattern
Set the queue's deduplication id from the event id so a redelivery enqueues nothing new.
See it in the playground →
An example handler that triggers this rule.
Safe patterns guide →
Keys, transactions, leases, and status codes.
Configure
// retrysafe.config.ts
export default defineConfig({
rules: { "queue-add-without-job-id": "info" }, // or "off"
});
// or, for one line (a reason is required):
// retrysafe-ignore queue-add-without-job-id -- <why this is safe>