You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deduplication is atomic and race-condition-free across all adapters:
156
+
157
+
-**Redis**: Uses `HSETNX` (set-if-not-exists)
158
+
-**Knex**: Uses `INSERT ... ON CONFLICT DO NOTHING`
159
+
160
+
> [!NOTE]
161
+
> Without `.id()`, jobs use auto-generated UUIDs and are never deduplicated. The `.id()` method is only available on single dispatch, not `dispatchMany`.
162
+
163
+
> [!TIP]
164
+
> When job retention is enabled (`removeOnComplete: false`), completed jobs remain in storage. A re-dispatch with the same custom ID will be silently skipped since the record still exists. With the default retention (`true`), completed jobs are removed immediately, so re-dispatch with the same ID succeeds normally.
0 commit comments