@tachybase/plugin-adapter-bullmq 1.3.17 → 1.3.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/externalVersion.js +2 -2
- package/dist/node_modules/@bull-board/api/dist/src/handlers/error.d.ts +4 -2
- package/dist/node_modules/@bull-board/api/dist/src/handlers/error.js +2 -2
- package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseAll.d.ts +4 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseAll.js +15 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/queues.js +4 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeAll.d.ts +4 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeAll.js +15 -0
- package/dist/node_modules/@bull-board/api/dist/src/index.js +1 -1
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.d.ts +4 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.js +6 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bull.js +6 -4
- package/dist/node_modules/@bull-board/api/dist/src/routes.js +4 -0
- package/dist/node_modules/@bull-board/api/dist/typings/app.d.ts +22 -2
- package/dist/node_modules/@bull-board/api/package.json +1 -1
- package/dist/node_modules/@bull-board/koa/dist/KoaAdapter.js +1 -1
- package/dist/node_modules/@bull-board/koa/dist/index.js +101 -101
- package/dist/node_modules/@bull-board/koa/package.json +1 -1
- package/dist/node_modules/bullmq/dist/cjs/classes/backoffs.js +18 -5
- package/dist/node_modules/bullmq/dist/cjs/classes/child-pool.js +7 -2
- package/dist/node_modules/bullmq/dist/cjs/classes/child-processor.js +59 -5
- package/dist/node_modules/bullmq/dist/cjs/classes/child.js +3 -1
- package/dist/node_modules/bullmq/dist/cjs/classes/errors/index.js +2 -1
- package/dist/node_modules/bullmq/dist/cjs/classes/errors/waiting-error.js +19 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/flow-producer.js +21 -5
- package/dist/node_modules/bullmq/dist/cjs/classes/index.js +1 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/job-scheduler.js +88 -62
- package/dist/node_modules/bullmq/dist/cjs/classes/job.js +216 -109
- package/dist/node_modules/bullmq/dist/cjs/classes/main-base.js +1 -1
- package/dist/node_modules/bullmq/dist/cjs/classes/queue-base.js +10 -9
- package/dist/node_modules/bullmq/dist/cjs/classes/queue-getters.js +34 -14
- package/dist/node_modules/bullmq/dist/cjs/classes/queue.js +19 -13
- package/dist/node_modules/bullmq/dist/cjs/classes/redis-connection.js +16 -9
- package/dist/node_modules/bullmq/dist/cjs/classes/repeat.js +1 -1
- package/dist/node_modules/bullmq/dist/cjs/classes/sandbox.js +54 -28
- package/dist/node_modules/bullmq/dist/cjs/classes/scripts.js +141 -39
- package/dist/node_modules/bullmq/dist/cjs/classes/worker.js +191 -182
- package/dist/node_modules/bullmq/dist/cjs/commands/addDelayedJob-6.lua +6 -17
- package/dist/node_modules/bullmq/dist/cjs/commands/addJobScheduler-11.lua +123 -0
- package/dist/node_modules/bullmq/dist/{esm/commands/addParentJob-4.lua → cjs/commands/addParentJob-5.lua} +7 -6
- package/dist/node_modules/bullmq/dist/cjs/commands/{addPrioritizedJob-8.lua → addPrioritizedJob-9.lua} +11 -10
- package/dist/node_modules/bullmq/dist/cjs/commands/addRepeatableJob-2.lua +2 -2
- package/dist/node_modules/bullmq/dist/{esm/commands/addStandardJob-8.lua → cjs/commands/addStandardJob-9.lua} +9 -8
- package/dist/node_modules/bullmq/dist/cjs/commands/cleanJobsInSet-3.lua +9 -5
- package/dist/node_modules/bullmq/dist/cjs/commands/drain-5.lua +16 -16
- package/dist/node_modules/bullmq/dist/cjs/commands/getDependencyCounts-4.lua +31 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getState-8.lua +5 -5
- package/dist/node_modules/bullmq/dist/cjs/commands/getStateV2-8.lua +8 -8
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/addDelayedJob.lua +23 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobFromScheduler.lua +37 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobWithPriority.lua +2 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanList.lua +4 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanSet.lua +3 -11
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/collectMetrics.lua +1 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/deduplicateJob.lua +63 -18
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/filterOutJobsToIgnore.lua +14 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +1 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getOrSetMaxEvents.lua +6 -6
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getPriorityScore.lua +8 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/isJobSchedulerJob.lua +15 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/isLocked.lua +1 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveChildFromDependenciesIfNeeded.lua +77 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/{moveJobFromPriorityToActive.lua → moveJobFromPrioritizedToActive.lua} +1 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWait.lua +45 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWaitIfNeeded.lua +9 -50
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWaitIfNoPendingDependencies.lua +13 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/prepareJobForProcessing.lua +2 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/promoteDelayedJobs.lua +7 -3
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeededOnFinalization.lua +23 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeededOnRemoval.lua +16 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJob.lua +2 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobKeys.lua +2 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobWithChildren.lua +95 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeListJobs.lua +7 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeParentDependencyKey.lua +5 -5
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeZSetJobs.lua +2 -8
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/storeJob.lua +2 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/storeJobScheduler.lua +52 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/trimEvents.lua +1 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateExistingJobsParent.lua +1 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateJobFields.lua +5 -5
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +2 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/isFinished-3.lua +2 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/moveJobFromActiveToWait-9.lua +63 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveStalledJobsToWait-8.lua +109 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToActive-11.lua +3 -2
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToFinished-14.lua +52 -52
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToWaitingChildren-8.lua +106 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/removeJob-2.lua +18 -66
- package/dist/node_modules/bullmq/dist/cjs/commands/removeJobScheduler-3.lua +1 -1
- package/dist/node_modules/bullmq/dist/cjs/commands/removeUnprocessedChildren-2.lua +31 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/retryJob-11.lua +11 -5
- package/dist/node_modules/bullmq/dist/cjs/commands/updateJobScheduler-12.lua +90 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/updateRepeatableJobMillis-1.lua +1 -1
- package/dist/node_modules/bullmq/dist/cjs/enums/child-command.js +2 -0
- package/dist/node_modules/bullmq/dist/cjs/enums/error-code.js +2 -1
- package/dist/node_modules/bullmq/dist/cjs/enums/parent-command.js +5 -2
- package/dist/node_modules/bullmq/dist/cjs/index.js +1 -1
- package/dist/node_modules/bullmq/dist/cjs/interfaces/index.js +2 -1
- package/dist/node_modules/bullmq/dist/cjs/interfaces/{debounce-options.js → parent-options.js} +1 -1
- package/dist/node_modules/bullmq/dist/cjs/interfaces/receiver.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addDelayedJob-6.js +163 -84
- package/dist/node_modules/bullmq/dist/cjs/scripts/addJobScheduler-11.js +465 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/{addParentJob-4.js → addParentJob-5.js} +147 -75
- package/dist/node_modules/bullmq/dist/cjs/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-9.js} +151 -79
- package/dist/node_modules/bullmq/dist/cjs/scripts/addRepeatableJob-2.js +18 -13
- package/dist/node_modules/bullmq/dist/cjs/scripts/{addStandardJob-8.js → addStandardJob-9.js} +149 -77
- package/dist/node_modules/bullmq/dist/cjs/scripts/changeDelay-4.js +7 -7
- package/dist/node_modules/bullmq/dist/cjs/scripts/changePriority-7.js +8 -2
- package/dist/node_modules/bullmq/dist/cjs/scripts/cleanJobsInSet-3.js +45 -29
- package/dist/node_modules/bullmq/dist/cjs/scripts/drain-5.js +49 -35
- package/dist/node_modules/bullmq/dist/cjs/scripts/getDependencyCounts-4.js +37 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getState-8.js +5 -5
- package/dist/node_modules/bullmq/dist/cjs/scripts/getStateV2-8.js +8 -8
- package/dist/node_modules/bullmq/dist/cjs/scripts/index.js +10 -7
- package/dist/node_modules/bullmq/dist/cjs/scripts/isFinished-3.js +2 -2
- package/dist/node_modules/bullmq/dist/cjs/scripts/{moveJobFromActiveToWait-10.js → moveJobFromActiveToWait-9.js} +57 -37
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveJobsToWait-8.js +6 -6
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveStalledJobsToWait-8.js +171 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToActive-11.js +18 -8
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToDelayed-8.js +12 -12
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToFinished-14.js +218 -155
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToWaitingChildren-8.js +529 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/obliterate-2.js +33 -20
- package/dist/node_modules/bullmq/dist/cjs/scripts/pause-7.js +1 -1
- package/dist/node_modules/bullmq/dist/cjs/scripts/promote-9.js +8 -2
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeChildDependency-1.js +7 -7
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeJob-2.js +120 -63
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeJobScheduler-3.js +3 -3
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeRepeatable-3.js +2 -2
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeUnprocessedChildren-2.js +339 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/reprocessJob-8.js +6 -6
- package/dist/node_modules/bullmq/dist/cjs/scripts/retryJob-11.js +47 -26
- package/dist/node_modules/bullmq/dist/cjs/scripts/updateJobScheduler-12.js +274 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/updateProgress-3.js +6 -6
- package/dist/node_modules/bullmq/dist/cjs/scripts/updateRepeatableJobMillis-1.js +1 -1
- package/dist/node_modules/bullmq/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/node_modules/bullmq/dist/cjs/types/deduplication-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/index.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/job-progress.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/script-queue-context.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/utils.js +29 -1
- package/dist/node_modules/bullmq/dist/cjs/version.js +1 -1
- package/dist/node_modules/bullmq/dist/esm/classes/backoffs.d.ts +1 -1
- package/dist/node_modules/bullmq/dist/esm/classes/backoffs.js +18 -5
- package/dist/node_modules/bullmq/dist/esm/classes/child-pool.d.ts +1 -1
- package/dist/node_modules/bullmq/dist/esm/classes/child-pool.js +7 -2
- package/dist/node_modules/bullmq/dist/esm/classes/child-processor.d.ts +3 -2
- package/dist/node_modules/bullmq/dist/esm/classes/child-processor.js +59 -5
- package/dist/node_modules/bullmq/dist/esm/classes/child.js +3 -1
- package/dist/node_modules/bullmq/dist/esm/classes/errors/index.d.ts +2 -1
- package/dist/node_modules/bullmq/dist/esm/classes/errors/index.js +2 -1
- package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-error.d.ts +10 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-error.js +15 -0
- package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.d.ts +3 -9
- package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.js +21 -5
- package/dist/node_modules/bullmq/dist/esm/classes/index.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/esm/classes/index.js +1 -0
- package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.d.ts +2 -2
- package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.js +88 -62
- package/dist/node_modules/bullmq/dist/esm/classes/job.d.ts +69 -19
- package/dist/node_modules/bullmq/dist/esm/classes/job.js +217 -110
- package/dist/node_modules/bullmq/dist/esm/classes/main-base.d.ts +2 -3
- package/dist/node_modules/bullmq/dist/esm/classes/main-base.js +1 -1
- package/dist/node_modules/bullmq/dist/esm/classes/queue-base.d.ts +2 -5
- package/dist/node_modules/bullmq/dist/esm/classes/queue-base.js +11 -10
- package/dist/node_modules/bullmq/dist/esm/classes/queue-events-producer.d.ts +2 -2
- package/dist/node_modules/bullmq/dist/esm/classes/queue-events.d.ts +118 -29
- package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.d.ts +20 -13
- package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.js +34 -14
- package/dist/node_modules/bullmq/dist/esm/classes/queue.d.ts +19 -16
- package/dist/node_modules/bullmq/dist/esm/classes/queue.js +19 -13
- package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.d.ts +7 -3
- package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.js +16 -9
- package/dist/node_modules/bullmq/dist/esm/classes/repeat.js +1 -1
- package/dist/node_modules/bullmq/dist/esm/classes/sandbox.js +54 -28
- package/dist/node_modules/bullmq/dist/esm/classes/scripts.d.ts +20 -13
- package/dist/node_modules/bullmq/dist/esm/classes/scripts.js +141 -39
- package/dist/node_modules/bullmq/dist/esm/classes/worker.d.ts +28 -7
- package/dist/node_modules/bullmq/dist/esm/classes/worker.js +192 -183
- package/dist/node_modules/bullmq/dist/esm/commands/addDelayedJob-6.lua +6 -17
- package/dist/node_modules/bullmq/dist/esm/commands/addJobScheduler-11.lua +123 -0
- package/dist/node_modules/bullmq/dist/{cjs/commands/addParentJob-4.lua → esm/commands/addParentJob-5.lua} +7 -6
- package/dist/node_modules/bullmq/dist/esm/commands/{addPrioritizedJob-8.lua → addPrioritizedJob-9.lua} +11 -10
- package/dist/node_modules/bullmq/dist/esm/commands/addRepeatableJob-2.lua +2 -2
- package/dist/node_modules/bullmq/dist/{cjs/commands/addStandardJob-8.lua → esm/commands/addStandardJob-9.lua} +9 -8
- package/dist/node_modules/bullmq/dist/esm/commands/cleanJobsInSet-3.lua +9 -5
- package/dist/node_modules/bullmq/dist/esm/commands/drain-5.lua +16 -16
- package/dist/node_modules/bullmq/dist/esm/commands/getDependencyCounts-4.lua +31 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getState-8.lua +5 -5
- package/dist/node_modules/bullmq/dist/esm/commands/getStateV2-8.lua +8 -8
- package/dist/node_modules/bullmq/dist/esm/commands/includes/addDelayedJob.lua +23 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobFromScheduler.lua +37 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobWithPriority.lua +2 -2
- package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanList.lua +4 -2
- package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanSet.lua +3 -11
- package/dist/node_modules/bullmq/dist/esm/commands/includes/collectMetrics.lua +1 -1
- package/dist/node_modules/bullmq/dist/esm/commands/includes/deduplicateJob.lua +63 -18
- package/dist/node_modules/bullmq/dist/esm/commands/includes/filterOutJobsToIgnore.lua +14 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getNextDelayedTimestamp.lua +1 -1
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getOrSetMaxEvents.lua +6 -6
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getPriorityScore.lua +8 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/isJobSchedulerJob.lua +15 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/isLocked.lua +1 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveChildFromDependenciesIfNeeded.lua +77 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/{moveJobFromPriorityToActive.lua → moveJobFromPrioritizedToActive.lua} +1 -1
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWait.lua +45 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWaitIfNeeded.lua +9 -50
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWaitIfNoPendingDependencies.lua +13 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/prepareJobForProcessing.lua +2 -1
- package/dist/node_modules/bullmq/dist/esm/commands/includes/promoteDelayedJobs.lua +7 -3
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeededOnFinalization.lua +23 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeededOnRemoval.lua +16 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJob.lua +2 -2
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobKeys.lua +2 -2
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobWithChildren.lua +95 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeListJobs.lua +7 -1
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeParentDependencyKey.lua +5 -5
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeZSetJobs.lua +2 -8
- package/dist/node_modules/bullmq/dist/esm/commands/includes/storeJob.lua +2 -2
- package/dist/node_modules/bullmq/dist/esm/commands/includes/storeJobScheduler.lua +52 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/trimEvents.lua +1 -1
- package/dist/node_modules/bullmq/dist/esm/commands/includes/updateExistingJobsParent.lua +1 -1
- package/dist/node_modules/bullmq/dist/esm/commands/includes/updateJobFields.lua +5 -5
- package/dist/node_modules/bullmq/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +2 -2
- package/dist/node_modules/bullmq/dist/esm/commands/isFinished-3.lua +2 -2
- package/dist/node_modules/bullmq/dist/esm/commands/moveJobFromActiveToWait-9.lua +63 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveStalledJobsToWait-8.lua +109 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveToActive-11.lua +3 -2
- package/dist/node_modules/bullmq/dist/esm/commands/moveToFinished-14.lua +52 -52
- package/dist/node_modules/bullmq/dist/esm/commands/moveToWaitingChildren-8.lua +106 -0
- package/dist/node_modules/bullmq/dist/esm/commands/removeJob-2.lua +18 -66
- package/dist/node_modules/bullmq/dist/esm/commands/removeJobScheduler-3.lua +1 -1
- package/dist/node_modules/bullmq/dist/esm/commands/removeUnprocessedChildren-2.lua +31 -0
- package/dist/node_modules/bullmq/dist/esm/commands/retryJob-11.lua +11 -5
- package/dist/node_modules/bullmq/dist/esm/commands/updateJobScheduler-12.lua +90 -0
- package/dist/node_modules/bullmq/dist/esm/commands/updateRepeatableJobMillis-1.lua +1 -1
- package/dist/node_modules/bullmq/dist/esm/enums/child-command.d.ts +3 -1
- package/dist/node_modules/bullmq/dist/esm/enums/child-command.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/enums/error-code.d.ts +3 -2
- package/dist/node_modules/bullmq/dist/esm/enums/error-code.js +2 -1
- package/dist/node_modules/bullmq/dist/esm/enums/parent-command.d.ts +5 -2
- package/dist/node_modules/bullmq/dist/esm/enums/parent-command.js +5 -2
- package/dist/node_modules/bullmq/dist/esm/interfaces/backoff-options.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/base-job-options.d.ts +3 -9
- package/dist/node_modules/bullmq/dist/esm/interfaces/child-message.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/index.d.ts +2 -1
- package/dist/node_modules/bullmq/dist/esm/interfaces/index.js +2 -1
- package/dist/node_modules/bullmq/dist/esm/interfaces/job-json.d.ts +6 -2
- package/dist/node_modules/bullmq/dist/esm/interfaces/job-scheduler-json.d.ts +7 -4
- package/dist/node_modules/bullmq/dist/esm/interfaces/minimal-job.d.ts +34 -15
- package/dist/node_modules/bullmq/dist/esm/interfaces/parent-options.d.ts +11 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/parent-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/parent.d.ts +6 -2
- package/dist/node_modules/bullmq/dist/esm/interfaces/queue-options.d.ts +15 -6
- package/dist/node_modules/bullmq/dist/esm/interfaces/receiver.d.ts +4 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/receiver.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeat-options.d.ts +1 -2
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-options.d.ts +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job.d.ts +3 -2
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-options.d.ts +1 -1
- package/dist/node_modules/bullmq/dist/esm/interfaces/telemetry.d.ts +18 -15
- package/dist/node_modules/bullmq/dist/esm/interfaces/worker-options.d.ts +10 -10
- package/dist/node_modules/bullmq/dist/esm/scripts/addDelayedJob-6.js +163 -84
- package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-11.js +462 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/{addParentJob-4.js → addParentJob-5.js} +147 -75
- package/dist/node_modules/bullmq/dist/esm/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-9.js} +151 -79
- package/dist/node_modules/bullmq/dist/esm/scripts/addRepeatableJob-2.js +18 -13
- package/dist/node_modules/bullmq/dist/esm/scripts/{addStandardJob-8.js → addStandardJob-9.js} +149 -77
- package/dist/node_modules/bullmq/dist/esm/scripts/changeDelay-4.js +7 -7
- package/dist/node_modules/bullmq/dist/esm/scripts/changePriority-7.js +8 -2
- package/dist/node_modules/bullmq/dist/esm/scripts/cleanJobsInSet-3.js +45 -29
- package/dist/node_modules/bullmq/dist/esm/scripts/drain-5.js +49 -35
- package/dist/node_modules/bullmq/dist/esm/scripts/getDependencyCounts-4.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getDependencyCounts-4.js +34 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getState-8.js +5 -5
- package/dist/node_modules/bullmq/dist/esm/scripts/getStateV2-8.js +8 -8
- package/dist/node_modules/bullmq/dist/esm/scripts/index.d.ts +10 -7
- package/dist/node_modules/bullmq/dist/esm/scripts/index.js +10 -7
- package/dist/node_modules/bullmq/dist/esm/scripts/isFinished-3.js +2 -2
- package/dist/node_modules/bullmq/dist/esm/scripts/{moveJobFromActiveToWait-10.js → moveJobFromActiveToWait-9.js} +57 -37
- package/dist/node_modules/bullmq/dist/esm/scripts/moveJobsToWait-8.js +6 -6
- package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-8.js +168 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToActive-11.js +18 -8
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToDelayed-8.js +12 -12
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToFinished-14.js +218 -155
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-8.js +526 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/obliterate-2.js +33 -20
- package/dist/node_modules/bullmq/dist/esm/scripts/pause-7.js +1 -1
- package/dist/node_modules/bullmq/dist/esm/scripts/promote-9.js +8 -2
- package/dist/node_modules/bullmq/dist/esm/scripts/removeChildDependency-1.js +7 -7
- package/dist/node_modules/bullmq/dist/esm/scripts/removeJob-2.js +120 -63
- package/dist/node_modules/bullmq/dist/esm/scripts/removeJobScheduler-3.js +3 -3
- package/dist/node_modules/bullmq/dist/esm/scripts/removeRepeatable-3.js +2 -2
- package/dist/node_modules/bullmq/dist/esm/scripts/removeUnprocessedChildren-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeUnprocessedChildren-2.js +336 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/reprocessJob-8.js +6 -6
- package/dist/node_modules/bullmq/dist/esm/scripts/retryJob-11.js +47 -26
- package/dist/node_modules/bullmq/dist/esm/scripts/updateJobScheduler-12.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateJobScheduler-12.js +271 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateProgress-3.js +6 -6
- package/dist/node_modules/bullmq/dist/esm/scripts/updateRepeatableJobMillis-1.js +1 -1
- package/dist/node_modules/bullmq/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/bullmq/dist/esm/types/deduplication-options.d.ts +22 -0
- package/dist/node_modules/bullmq/dist/esm/types/deduplication-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/index.d.ts +3 -0
- package/dist/node_modules/bullmq/dist/esm/types/index.js +3 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-options.d.ts +19 -8
- package/dist/node_modules/bullmq/dist/esm/types/job-progress.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-progress.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/script-queue-context.d.ts +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/script-queue-context.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/utils.d.ts +25 -5
- package/dist/node_modules/bullmq/dist/esm/utils.js +27 -0
- package/dist/node_modules/bullmq/dist/esm/version.d.ts +1 -1
- package/dist/node_modules/bullmq/dist/esm/version.js +1 -1
- package/dist/node_modules/bullmq/package.json +1 -1
- package/package.json +7 -7
- package/dist/node_modules/bullmq/dist/cjs/commands/addJobScheduler-2.lua +0 -91
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -53
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKey.lua +0 -11
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +0 -14
- package/dist/node_modules/bullmq/dist/cjs/commands/moveJobFromActiveToWait-10.lua +0 -60
- package/dist/node_modules/bullmq/dist/cjs/commands/moveStalledJobsToWait-9.lua +0 -156
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToWaitingChildren-5.lua +0 -68
- package/dist/node_modules/bullmq/dist/cjs/scripts/addJobScheduler-2.js +0 -237
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveStalledJobsToWait-9.js +0 -529
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToWaitingChildren-5.js +0 -83
- package/dist/node_modules/bullmq/dist/esm/commands/addJobScheduler-2.lua +0 -91
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -53
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKey.lua +0 -11
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +0 -14
- package/dist/node_modules/bullmq/dist/esm/commands/moveJobFromActiveToWait-10.lua +0 -60
- package/dist/node_modules/bullmq/dist/esm/commands/moveStalledJobsToWait-9.lua +0 -156
- package/dist/node_modules/bullmq/dist/esm/commands/moveToWaitingChildren-5.lua +0 -68
- package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.d.ts +0 -13
- package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.js +0 -2
- package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-2.js +0 -234
- package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-9.js +0 -526
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-5.js +0 -80
- /package/dist/node_modules/bullmq/dist/esm/scripts/{addJobScheduler-2.d.ts → addJobScheduler-11.d.ts} +0 -0
- /package/dist/node_modules/bullmq/dist/esm/scripts/{addParentJob-4.d.ts → addParentJob-5.d.ts} +0 -0
- /package/dist/node_modules/bullmq/dist/esm/scripts/{addPrioritizedJob-8.d.ts → addPrioritizedJob-9.d.ts} +0 -0
- /package/dist/node_modules/bullmq/dist/esm/scripts/{addStandardJob-8.d.ts → addStandardJob-9.d.ts} +0 -0
- /package/dist/node_modules/bullmq/dist/esm/scripts/{moveJobFromActiveToWait-10.d.ts → moveJobFromActiveToWait-9.d.ts} +0 -0
- /package/dist/node_modules/bullmq/dist/esm/scripts/{moveStalledJobsToWait-9.d.ts → moveStalledJobsToWait-8.d.ts} +0 -0
- /package/dist/node_modules/bullmq/dist/esm/scripts/{moveToWaitingChildren-5.d.ts → moveToWaitingChildren-8.d.ts} +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
--[[
|
|
2
|
+
Adds a job scheduler, i.e. a job factory that creates jobs based on a given schedule (repeat options).
|
|
3
|
+
|
|
4
|
+
Input:
|
|
5
|
+
KEYS[1] 'repeat' key
|
|
6
|
+
KEYS[2] 'delayed' key
|
|
7
|
+
KEYS[3] 'wait' key
|
|
8
|
+
KEYS[4] 'paused' key
|
|
9
|
+
KEYS[5] 'meta' key
|
|
10
|
+
KEYS[6] 'prioritized' key
|
|
11
|
+
KEYS[7] 'marker' key
|
|
12
|
+
KEYS[8] 'id' key
|
|
13
|
+
KEYS[9] 'events' key
|
|
14
|
+
KEYS[10] 'pc' priority counter
|
|
15
|
+
KEYS[11] 'active' key
|
|
16
|
+
|
|
17
|
+
ARGV[1] next milliseconds
|
|
18
|
+
ARGV[2] msgpacked options
|
|
19
|
+
[1] name
|
|
20
|
+
[2] tz?
|
|
21
|
+
[3] patten?
|
|
22
|
+
[4] endDate?
|
|
23
|
+
[5] every?
|
|
24
|
+
ARGV[3] jobs scheduler id
|
|
25
|
+
ARGV[4] Json stringified template data
|
|
26
|
+
ARGV[5] mspacked template opts
|
|
27
|
+
ARGV[6] msgpacked delayed opts
|
|
28
|
+
ARGV[7] timestamp
|
|
29
|
+
ARGV[8] prefix key
|
|
30
|
+
ARGV[9] producer key
|
|
31
|
+
|
|
32
|
+
Output:
|
|
33
|
+
repeatableKey - OK
|
|
34
|
+
]]
|
|
35
|
+
local rcall = redis.call
|
|
36
|
+
local repeatKey = KEYS[1]
|
|
37
|
+
local delayedKey = KEYS[2]
|
|
38
|
+
local waitKey = KEYS[3]
|
|
39
|
+
local pausedKey = KEYS[4]
|
|
40
|
+
local metaKey = KEYS[5]
|
|
41
|
+
local prioritizedKey = KEYS[6]
|
|
42
|
+
local eventsKey = KEYS[9]
|
|
43
|
+
|
|
44
|
+
local nextMillis = ARGV[1]
|
|
45
|
+
local jobSchedulerId = ARGV[3]
|
|
46
|
+
local templateOpts = cmsgpack.unpack(ARGV[5])
|
|
47
|
+
local prefixKey = ARGV[8]
|
|
48
|
+
|
|
49
|
+
-- Includes
|
|
50
|
+
--- @include "includes/addJobFromScheduler"
|
|
51
|
+
--- @include "includes/getOrSetMaxEvents"
|
|
52
|
+
--- @include "includes/isQueuePaused"
|
|
53
|
+
--- @include "includes/removeJob"
|
|
54
|
+
--- @include "includes/storeJobScheduler"
|
|
55
|
+
|
|
56
|
+
-- If we are overriding a repeatable job we must delete the delayed job for
|
|
57
|
+
-- the next iteration.
|
|
58
|
+
local schedulerKey = repeatKey .. ":" .. jobSchedulerId
|
|
59
|
+
local nextDelayedJobKey = schedulerKey .. ":" .. nextMillis
|
|
60
|
+
local nextDelayedJobId = "repeat:" .. jobSchedulerId .. ":" .. nextMillis
|
|
61
|
+
|
|
62
|
+
local maxEvents = getOrSetMaxEvents(metaKey)
|
|
63
|
+
|
|
64
|
+
local function removeJobFromScheduler(prefixKey, delayedKey, prioritizedKey, waitKey, pausedKey, jobId,
|
|
65
|
+
metaKey, eventsKey)
|
|
66
|
+
if rcall("ZSCORE", delayedKey, jobId) then
|
|
67
|
+
removeJob(jobId, true, prefixKey, true --[[remove debounce key]] )
|
|
68
|
+
rcall("ZREM", delayedKey, jobId)
|
|
69
|
+
return true
|
|
70
|
+
elseif rcall("ZSCORE", prioritizedKey, jobId) then
|
|
71
|
+
removeJob(jobId, true, prefixKey, true --[[remove debounce key]] )
|
|
72
|
+
rcall("ZREM", prioritizedKey, jobId)
|
|
73
|
+
return true
|
|
74
|
+
else
|
|
75
|
+
local pausedOrWaitKey = waitKey
|
|
76
|
+
if isQueuePaused(metaKey) then
|
|
77
|
+
pausedOrWaitKey = pausedKey
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
if rcall("LREM", pausedOrWaitKey, 1, jobId) > 0 then
|
|
81
|
+
removeJob(jobId, true, prefixKey, true --[[remove debounce key]] )
|
|
82
|
+
return true
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
return false
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
if rcall("EXISTS", nextDelayedJobKey) == 1 then
|
|
89
|
+
if not removeJobFromScheduler(prefixKey, delayedKey, prioritizedKey, waitKey, pausedKey,
|
|
90
|
+
nextDelayedJobId, metaKey, eventsKey) then
|
|
91
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event",
|
|
92
|
+
"duplicated", "jobId", nextDelayedJobId)
|
|
93
|
+
|
|
94
|
+
return nextDelayedJobId .. "" -- convert to string
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
local prevMillis = rcall("ZSCORE", repeatKey, jobSchedulerId)
|
|
99
|
+
|
|
100
|
+
if prevMillis then
|
|
101
|
+
local currentJobId = "repeat:" .. jobSchedulerId .. ":" .. prevMillis
|
|
102
|
+
local currentDelayedJobKey = schedulerKey .. ":" .. prevMillis
|
|
103
|
+
|
|
104
|
+
if currentJobId ~= nextDelayedJobId and rcall("EXISTS", currentDelayedJobKey) == 1 then
|
|
105
|
+
removeJobFromScheduler(prefixKey, delayedKey, prioritizedKey, waitKey, pausedKey,
|
|
106
|
+
currentJobId, metaKey, eventsKey)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
local schedulerOpts = cmsgpack.unpack(ARGV[2])
|
|
111
|
+
storeJobScheduler(jobSchedulerId, schedulerKey, repeatKey, nextMillis, schedulerOpts, ARGV[4], templateOpts)
|
|
112
|
+
|
|
113
|
+
rcall("INCR", KEYS[8])
|
|
114
|
+
|
|
115
|
+
addJobFromScheduler(nextDelayedJobKey, nextDelayedJobId, ARGV[6], waitKey, pausedKey,
|
|
116
|
+
KEYS[11], metaKey, prioritizedKey, KEYS[10], delayedKey, KEYS[7], eventsKey,
|
|
117
|
+
schedulerOpts['name'], maxEvents, ARGV[7], ARGV[4], jobSchedulerId)
|
|
118
|
+
|
|
119
|
+
if ARGV[9] ~= "" then
|
|
120
|
+
rcall("HSET", ARGV[9], "nrjid", nextDelayedJobId)
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
return nextDelayedJobId .. "" -- convert to string
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
Input:
|
|
8
8
|
KEYS[1] 'meta'
|
|
9
9
|
KEYS[2] 'id'
|
|
10
|
-
KEYS[3] '
|
|
11
|
-
KEYS[4]
|
|
10
|
+
KEYS[3] 'delayed'
|
|
11
|
+
KEYS[4] 'completed'
|
|
12
|
+
KEYS[5] events stream key
|
|
12
13
|
|
|
13
14
|
ARGV[1] msgpacked arguments array
|
|
14
15
|
[1] key prefix,
|
|
@@ -32,8 +33,8 @@
|
|
|
32
33
|
local metaKey = KEYS[1]
|
|
33
34
|
local idKey = KEYS[2]
|
|
34
35
|
|
|
35
|
-
local completedKey = KEYS[
|
|
36
|
-
local eventsKey = KEYS[
|
|
36
|
+
local completedKey = KEYS[4]
|
|
37
|
+
local eventsKey = KEYS[5]
|
|
37
38
|
|
|
38
39
|
local jobId
|
|
39
40
|
local jobIdKey
|
|
@@ -81,8 +82,8 @@ else
|
|
|
81
82
|
end
|
|
82
83
|
end
|
|
83
84
|
|
|
84
|
-
local deduplicationJobId = deduplicateJob(
|
|
85
|
-
|
|
85
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId, KEYS[3],
|
|
86
|
+
deduplicationKey, eventsKey, maxEvents, args[1])
|
|
86
87
|
if deduplicationJobId then
|
|
87
88
|
return deduplicationJobId
|
|
88
89
|
end
|
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
KEYS[2] 'meta'
|
|
10
10
|
KEYS[3] 'id'
|
|
11
11
|
KEYS[4] 'prioritized'
|
|
12
|
-
KEYS[5] '
|
|
13
|
-
KEYS[6] '
|
|
14
|
-
KEYS[7]
|
|
15
|
-
KEYS[8]
|
|
12
|
+
KEYS[5] 'delayed'
|
|
13
|
+
KEYS[6] 'completed'
|
|
14
|
+
KEYS[7] 'active'
|
|
15
|
+
KEYS[8] events stream key
|
|
16
|
+
KEYS[9] 'pc' priority counter
|
|
16
17
|
|
|
17
18
|
ARGV[1] msgpacked arguments array
|
|
18
19
|
[1] key prefix,
|
|
@@ -37,10 +38,10 @@ local metaKey = KEYS[2]
|
|
|
37
38
|
local idKey = KEYS[3]
|
|
38
39
|
local priorityKey = KEYS[4]
|
|
39
40
|
|
|
40
|
-
local completedKey = KEYS[
|
|
41
|
-
local activeKey = KEYS[
|
|
42
|
-
local eventsKey = KEYS[
|
|
43
|
-
local priorityCounterKey = KEYS[
|
|
41
|
+
local completedKey = KEYS[6]
|
|
42
|
+
local activeKey = KEYS[7]
|
|
43
|
+
local eventsKey = KEYS[8]
|
|
44
|
+
local priorityCounterKey = KEYS[9]
|
|
44
45
|
|
|
45
46
|
local jobId
|
|
46
47
|
local jobIdKey
|
|
@@ -90,8 +91,8 @@ else
|
|
|
90
91
|
end
|
|
91
92
|
end
|
|
92
93
|
|
|
93
|
-
local deduplicationJobId = deduplicateJob(
|
|
94
|
-
|
|
94
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId, KEYS[5],
|
|
95
|
+
deduplicationKey, eventsKey, maxEvents, args[1])
|
|
95
96
|
if deduplicationJobId then
|
|
96
97
|
return deduplicationJobId
|
|
97
98
|
end
|
|
@@ -65,11 +65,11 @@ end
|
|
|
65
65
|
-- If we are overriding a repeatable job we must delete the delayed job for
|
|
66
66
|
-- the next iteration.
|
|
67
67
|
local prevMillis = rcall("ZSCORE", repeatKey, customKey)
|
|
68
|
-
if prevMillis
|
|
68
|
+
if prevMillis then
|
|
69
69
|
local delayedJobId = "repeat:" .. customKey .. ":" .. prevMillis
|
|
70
70
|
local nextDelayedJobId = repeatKey .. ":" .. customKey .. ":" .. nextMillis
|
|
71
71
|
|
|
72
|
-
if rcall("ZSCORE", delayedKey, delayedJobId)
|
|
72
|
+
if rcall("ZSCORE", delayedKey, delayedJobId)
|
|
73
73
|
and rcall("EXISTS", nextDelayedJobId) ~= 1 then
|
|
74
74
|
removeJob(delayedJobId, true, prefixKey, true --[[remove debounce key]])
|
|
75
75
|
rcall("ZREM", delayedKey, delayedJobId)
|
|
@@ -20,9 +20,10 @@
|
|
|
20
20
|
KEYS[3] 'meta'
|
|
21
21
|
KEYS[4] 'id'
|
|
22
22
|
KEYS[5] 'completed'
|
|
23
|
-
KEYS[6] '
|
|
24
|
-
KEYS[7]
|
|
25
|
-
KEYS[8]
|
|
23
|
+
KEYS[6] 'delayed'
|
|
24
|
+
KEYS[7] 'active'
|
|
25
|
+
KEYS[8] events stream key
|
|
26
|
+
KEYS[9] marker key
|
|
26
27
|
|
|
27
28
|
ARGV[1] msgpacked arguments array
|
|
28
29
|
[1] key prefix,
|
|
@@ -43,7 +44,7 @@
|
|
|
43
44
|
jobId - OK
|
|
44
45
|
-5 - Missing parent key
|
|
45
46
|
]]
|
|
46
|
-
local eventsKey = KEYS[
|
|
47
|
+
local eventsKey = KEYS[8]
|
|
47
48
|
|
|
48
49
|
local jobId
|
|
49
50
|
local jobIdKey
|
|
@@ -94,8 +95,8 @@ else
|
|
|
94
95
|
end
|
|
95
96
|
end
|
|
96
97
|
|
|
97
|
-
local deduplicationJobId = deduplicateJob(
|
|
98
|
-
|
|
98
|
+
local deduplicationJobId = deduplicateJob(opts['de'], jobId, KEYS[6],
|
|
99
|
+
deduplicationKey, eventsKey, maxEvents, args[1])
|
|
99
100
|
if deduplicationJobId then
|
|
100
101
|
return deduplicationJobId
|
|
101
102
|
end
|
|
@@ -104,11 +105,11 @@ end
|
|
|
104
105
|
storeJob(eventsKey, jobIdKey, jobId, args[3], ARGV[2], opts, timestamp,
|
|
105
106
|
parentKey, parentData, repeatJobKey)
|
|
106
107
|
|
|
107
|
-
local target, isPausedOrMaxed = getTargetQueueList(metaKey, KEYS[
|
|
108
|
+
local target, isPausedOrMaxed = getTargetQueueList(metaKey, KEYS[7], KEYS[1], KEYS[2])
|
|
108
109
|
|
|
109
110
|
-- LIFO or FIFO
|
|
110
111
|
local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
|
|
111
|
-
addJobInTargetList(target, KEYS[
|
|
112
|
+
addJobInTargetList(target, KEYS[9], pushCmd, isPausedOrMaxed, jobId)
|
|
112
113
|
|
|
113
114
|
-- Emit waiting event
|
|
114
115
|
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "waiting",
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
Input:
|
|
5
5
|
KEYS[1] set key,
|
|
6
6
|
KEYS[2] events stream key
|
|
7
|
-
KEYS[3]
|
|
7
|
+
KEYS[3] repeat key
|
|
8
8
|
|
|
9
9
|
ARGV[1] jobKey prefix
|
|
10
10
|
ARGV[2] timestamp
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
ARGV[4] set name, can be any of 'wait', 'active', 'paused', 'delayed', 'completed', or 'failed'
|
|
13
13
|
]]
|
|
14
14
|
local rcall = redis.call
|
|
15
|
+
local repeatKey = KEYS[3]
|
|
15
16
|
local rangeStart = 0
|
|
16
17
|
local rangeEnd = -1
|
|
17
18
|
|
|
@@ -33,19 +34,22 @@ end
|
|
|
33
34
|
|
|
34
35
|
local result
|
|
35
36
|
if ARGV[4] == "active" then
|
|
36
|
-
result = cleanList(KEYS[1], ARGV[1], rangeStart, rangeEnd, ARGV[2], false --[[ hasFinished ]]
|
|
37
|
+
result = cleanList(KEYS[1], ARGV[1], rangeStart, rangeEnd, ARGV[2], false --[[ hasFinished ]],
|
|
38
|
+
repeatKey)
|
|
37
39
|
elseif ARGV[4] == "delayed" then
|
|
38
40
|
rangeEnd = "+inf"
|
|
39
41
|
result = cleanSet(KEYS[1], ARGV[1], rangeEnd, ARGV[2], limit,
|
|
40
|
-
{"processedOn", "timestamp"}, false --[[ hasFinished ]],
|
|
42
|
+
{"processedOn", "timestamp"}, false --[[ hasFinished ]], repeatKey)
|
|
41
43
|
elseif ARGV[4] == "prioritized" then
|
|
42
44
|
rangeEnd = "+inf"
|
|
43
45
|
result = cleanSet(KEYS[1], ARGV[1], rangeEnd, ARGV[2], limit,
|
|
44
|
-
{"timestamp"}, false --[[ hasFinished ]])
|
|
46
|
+
{"timestamp"}, false --[[ hasFinished ]], repeatKey)
|
|
45
47
|
elseif ARGV[4] == "wait" or ARGV[4] == "paused" then
|
|
46
|
-
result = cleanList(KEYS[1], ARGV[1], rangeStart, rangeEnd, ARGV[2], true --[[ hasFinished ]]
|
|
48
|
+
result = cleanList(KEYS[1], ARGV[1], rangeStart, rangeEnd, ARGV[2], true --[[ hasFinished ]],
|
|
49
|
+
repeatKey)
|
|
47
50
|
else
|
|
48
51
|
rangeEnd = ARGV[2]
|
|
52
|
+
-- No need to pass repeat key as in that moment job won't be related to a job scheduler
|
|
49
53
|
result = cleanSet(KEYS[1], ARGV[1], rangeEnd, ARGV[2], limit,
|
|
50
54
|
{"finishedOn"}, true --[[ hasFinished ]])
|
|
51
55
|
end
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
KEYS[5] 'jobschedulers' (repeat)
|
|
11
11
|
|
|
12
12
|
ARGV[1] queue key prefix
|
|
13
|
+
ARGV[2] should clean delayed jobs
|
|
13
14
|
]]
|
|
14
15
|
local rcall = redis.call
|
|
15
16
|
local queueBaseKey = ARGV[1]
|
|
@@ -17,25 +18,24 @@ local queueBaseKey = ARGV[1]
|
|
|
17
18
|
--- @include "includes/removeListJobs"
|
|
18
19
|
--- @include "includes/removeZSetJobs"
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
-- We must not remove delayed jobs if they are associated to a job scheduler.
|
|
22
|
+
local scheduledJobs = {}
|
|
23
|
+
local jobSchedulers = rcall("ZRANGE", KEYS[5], 0, -1, "WITHSCORES")
|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
-- For every job scheduler, get the current delayed job id.
|
|
26
|
+
for i = 1, #jobSchedulers, 2 do
|
|
27
|
+
local jobSchedulerId = jobSchedulers[i]
|
|
28
|
+
local jobSchedulerMillis = jobSchedulers[i + 1]
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-- For every job scheduler, get the current delayed job id.
|
|
30
|
-
for i = 1, #jobSchedulers, 2 do
|
|
31
|
-
local jobSchedulerId = jobSchedulers[i]
|
|
32
|
-
local jobSchedulerMillis = jobSchedulers[i + 1]
|
|
30
|
+
local delayedJobId = "repeat:" .. jobSchedulerId .. ":" .. jobSchedulerMillis
|
|
31
|
+
scheduledJobs[delayedJobId] = true
|
|
32
|
+
end
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
end
|
|
34
|
+
removeListJobs(KEYS[1], true, queueBaseKey, 0, scheduledJobs) -- wait
|
|
35
|
+
removeListJobs(KEYS[2], true, queueBaseKey, 0, scheduledJobs) -- paused
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
if ARGV[2] == "1" then
|
|
38
|
+
removeZSetJobs(KEYS[3], true, queueBaseKey, 0, scheduledJobs) -- delayed
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
-
removeZSetJobs(KEYS[4], true, queueBaseKey, 0) -- prioritized
|
|
41
|
+
removeZSetJobs(KEYS[4], true, queueBaseKey, 0, scheduledJobs) -- prioritized
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
--[[
|
|
2
|
+
Get counts per child states
|
|
3
|
+
|
|
4
|
+
Input:
|
|
5
|
+
KEYS[1] processed key
|
|
6
|
+
KEYS[2] unprocessed key
|
|
7
|
+
KEYS[3] ignored key
|
|
8
|
+
KEYS[4] failed key
|
|
9
|
+
|
|
10
|
+
ARGV[1...] types
|
|
11
|
+
]]
|
|
12
|
+
local rcall = redis.call;
|
|
13
|
+
local processedKey = KEYS[1]
|
|
14
|
+
local unprocessedKey = KEYS[2]
|
|
15
|
+
local ignoredKey = KEYS[3]
|
|
16
|
+
local failedKey = KEYS[4]
|
|
17
|
+
local results = {}
|
|
18
|
+
|
|
19
|
+
for i = 1, #ARGV do
|
|
20
|
+
if ARGV[i] == "processed" then
|
|
21
|
+
results[#results+1] = rcall("HLEN", processedKey)
|
|
22
|
+
elseif ARGV[i] == "unprocessed" then
|
|
23
|
+
results[#results+1] = rcall("SCARD", unprocessedKey)
|
|
24
|
+
elseif ARGV[i] == "ignored" then
|
|
25
|
+
results[#results+1] = rcall("HLEN", ignoredKey)
|
|
26
|
+
else
|
|
27
|
+
results[#results+1] = rcall("ZCARD", failedKey)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
return results
|
|
@@ -24,19 +24,19 @@
|
|
|
24
24
|
]]
|
|
25
25
|
local rcall = redis.call
|
|
26
26
|
|
|
27
|
-
if rcall("ZSCORE", KEYS[1], ARGV[1])
|
|
27
|
+
if rcall("ZSCORE", KEYS[1], ARGV[1]) then
|
|
28
28
|
return "completed"
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
-
if rcall("ZSCORE", KEYS[2], ARGV[1])
|
|
31
|
+
if rcall("ZSCORE", KEYS[2], ARGV[1]) then
|
|
32
32
|
return "failed"
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
if rcall("ZSCORE", KEYS[3], ARGV[1])
|
|
35
|
+
if rcall("ZSCORE", KEYS[3], ARGV[1]) then
|
|
36
36
|
return "delayed"
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
if rcall("ZSCORE", KEYS[8], ARGV[1])
|
|
39
|
+
if rcall("ZSCORE", KEYS[8], ARGV[1]) then
|
|
40
40
|
return "prioritized"
|
|
41
41
|
end
|
|
42
42
|
|
|
@@ -58,7 +58,7 @@ if checkItemInList(paused_items, ARGV[1]) ~= nil then
|
|
|
58
58
|
return "waiting"
|
|
59
59
|
end
|
|
60
60
|
|
|
61
|
-
if rcall("ZSCORE", KEYS[7], ARGV[1])
|
|
61
|
+
if rcall("ZSCORE", KEYS[7], ARGV[1]) then
|
|
62
62
|
return "waiting-children"
|
|
63
63
|
end
|
|
64
64
|
|
|
@@ -23,35 +23,35 @@
|
|
|
23
23
|
]]
|
|
24
24
|
local rcall = redis.call
|
|
25
25
|
|
|
26
|
-
if rcall("ZSCORE", KEYS[1], ARGV[1])
|
|
26
|
+
if rcall("ZSCORE", KEYS[1], ARGV[1]) then
|
|
27
27
|
return "completed"
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
if rcall("ZSCORE", KEYS[2], ARGV[1])
|
|
30
|
+
if rcall("ZSCORE", KEYS[2], ARGV[1]) then
|
|
31
31
|
return "failed"
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
if rcall("ZSCORE", KEYS[3], ARGV[1])
|
|
34
|
+
if rcall("ZSCORE", KEYS[3], ARGV[1]) then
|
|
35
35
|
return "delayed"
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
if rcall("ZSCORE", KEYS[8], ARGV[1])
|
|
38
|
+
if rcall("ZSCORE", KEYS[8], ARGV[1]) then
|
|
39
39
|
return "prioritized"
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
if rcall("LPOS", KEYS[4] , ARGV[1])
|
|
42
|
+
if rcall("LPOS", KEYS[4] , ARGV[1]) then
|
|
43
43
|
return "active"
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
if rcall("LPOS", KEYS[5] , ARGV[1])
|
|
46
|
+
if rcall("LPOS", KEYS[5] , ARGV[1]) then
|
|
47
47
|
return "waiting"
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
if rcall("LPOS", KEYS[6] , ARGV[1])
|
|
50
|
+
if rcall("LPOS", KEYS[6] , ARGV[1]) then
|
|
51
51
|
return "waiting"
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
-
if rcall("ZSCORE", KEYS[7] , ARGV[1])
|
|
54
|
+
if rcall("ZSCORE", KEYS[7] , ARGV[1]) then
|
|
55
55
|
return "waiting-children"
|
|
56
56
|
end
|
|
57
57
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
--[[
|
|
2
|
+
Adds a delayed job to the queue by doing the following:
|
|
3
|
+
- Creates a new job key with the job data.
|
|
4
|
+
- adds to delayed zset.
|
|
5
|
+
- Emits a global event 'delayed' if the job is delayed.
|
|
6
|
+
]]
|
|
7
|
+
|
|
8
|
+
-- Includes
|
|
9
|
+
--- @include "addDelayMarkerIfNeeded"
|
|
10
|
+
--- @include "getDelayedScore"
|
|
11
|
+
|
|
12
|
+
local function addDelayedJob(jobId, delayedKey, eventsKey, timestamp,
|
|
13
|
+
maxEvents, markerKey, delay)
|
|
14
|
+
|
|
15
|
+
local score, delayedTimestamp = getDelayedScore(delayedKey, timestamp, tonumber(delay))
|
|
16
|
+
|
|
17
|
+
rcall("ZADD", delayedKey, score, jobId)
|
|
18
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "delayed",
|
|
19
|
+
"jobId", jobId, "delay", delayedTimestamp)
|
|
20
|
+
|
|
21
|
+
-- mark that a delayed job is available
|
|
22
|
+
addDelayMarkerIfNeeded(markerKey, delayedKey)
|
|
23
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
--[[
|
|
2
|
+
Add delay marker if needed.
|
|
3
|
+
]]
|
|
4
|
+
|
|
5
|
+
-- Includes
|
|
6
|
+
--- @include "addDelayedJob"
|
|
7
|
+
--- @include "addJobWithPriority"
|
|
8
|
+
--- @include "isQueuePaused"
|
|
9
|
+
--- @include "storeJob"
|
|
10
|
+
--- @include "getTargetQueueList"
|
|
11
|
+
--- @include "addJobInTargetList"
|
|
12
|
+
|
|
13
|
+
local function addJobFromScheduler(jobKey, jobId, rawOpts, waitKey, pausedKey, activeKey, metaKey,
|
|
14
|
+
prioritizedKey, priorityCounter, delayedKey, markerKey, eventsKey, name, maxEvents, timestamp,
|
|
15
|
+
data, jobSchedulerId)
|
|
16
|
+
local opts = cmsgpack.unpack(rawOpts)
|
|
17
|
+
|
|
18
|
+
local delay, priority = storeJob(eventsKey, jobKey, jobId, name, data,
|
|
19
|
+
opts, timestamp, nil, nil, jobSchedulerId)
|
|
20
|
+
|
|
21
|
+
if delay ~= 0 then
|
|
22
|
+
addDelayedJob(jobId, delayedKey, eventsKey, timestamp, maxEvents, markerKey, delay)
|
|
23
|
+
else
|
|
24
|
+
local target, isPausedOrMaxed = getTargetQueueList(metaKey, activeKey, waitKey, pausedKey)
|
|
25
|
+
|
|
26
|
+
-- Standard or priority add
|
|
27
|
+
if priority == 0 then
|
|
28
|
+
local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
|
|
29
|
+
addJobInTargetList(target, markerKey, pushCmd, isPausedOrMaxed, jobId)
|
|
30
|
+
else
|
|
31
|
+
-- Priority add
|
|
32
|
+
addJobWithPriority(markerKey, prioritizedKey, priority, jobId, priorityCounter, isPausedOrMaxed)
|
|
33
|
+
end
|
|
34
|
+
-- Emit waiting event
|
|
35
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "waiting", "jobId", jobId)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
-- Includes
|
|
6
6
|
--- @include "addBaseMarkerIfNeeded"
|
|
7
|
+
--- @include "getPriorityScore"
|
|
7
8
|
|
|
8
9
|
local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, priorityCounterKey,
|
|
9
10
|
isPausedOrMaxed)
|
|
10
|
-
local
|
|
11
|
-
local score = priority * 0x100000000 + prioCounter % 0x100000000
|
|
11
|
+
local score = getPriorityScore(priority, priorityCounterKey)
|
|
12
12
|
rcall("ZADD", prioritizedKey, score, jobId)
|
|
13
13
|
addBaseMarkerIfNeeded(markerKey, isPausedOrMaxed)
|
|
14
14
|
end
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
-- Includes
|
|
7
7
|
--- @include "getTimestamp"
|
|
8
|
+
--- @include "isJobSchedulerJob"
|
|
8
9
|
--- @include "removeJob"
|
|
9
10
|
|
|
10
11
|
local function cleanList(listKey, jobKeyPrefix, rangeStart, rangeEnd,
|
|
11
|
-
timestamp, isWaiting)
|
|
12
|
+
timestamp, isWaiting, jobSchedulersKey)
|
|
12
13
|
local jobs = rcall("LRANGE", listKey, rangeStart, rangeEnd)
|
|
13
14
|
local deleted = {}
|
|
14
15
|
local deletedCount = 0
|
|
@@ -21,7 +22,8 @@ local function cleanList(listKey, jobKeyPrefix, rangeStart, rangeEnd,
|
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
local jobKey = jobKeyPrefix .. job
|
|
24
|
-
if (isWaiting or rcall("EXISTS", jobKey .. ":lock") == 0)
|
|
25
|
+
if (isWaiting or rcall("EXISTS", jobKey .. ":lock") == 0) and
|
|
26
|
+
not isJobSchedulerJob(job, jobKey, jobSchedulersKey) then
|
|
25
27
|
-- Find the right timestamp of the job to compare to maxTimestamp:
|
|
26
28
|
-- * finishedOn says when the job was completed, but it isn't set unless the job has actually completed
|
|
27
29
|
-- * processedOn represents when the job was last attempted, but it doesn't get populated until
|
|
@@ -7,16 +7,8 @@
|
|
|
7
7
|
--- @include "batches"
|
|
8
8
|
--- @include "getJobsInZset"
|
|
9
9
|
--- @include "getTimestamp"
|
|
10
|
+
--- @include "isJobSchedulerJob"
|
|
10
11
|
--- @include "removeJob"
|
|
11
|
-
local function isJobSchedulerJob(jobId, jobSchedulersKey)
|
|
12
|
-
if jobSchedulersKey then
|
|
13
|
-
local jobSchedulerId = jobId:match("repeat:(.*):%d+")
|
|
14
|
-
if jobSchedulerId then
|
|
15
|
-
return rcall("ZSCORE", jobSchedulersKey, jobSchedulerId)
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
return false
|
|
19
|
-
end
|
|
20
12
|
|
|
21
13
|
local function cleanSet(
|
|
22
14
|
setKey,
|
|
@@ -36,10 +28,10 @@ local function cleanSet(
|
|
|
36
28
|
break
|
|
37
29
|
end
|
|
38
30
|
|
|
31
|
+
local jobKey = jobKeyPrefix .. job
|
|
39
32
|
-- Extract a Job Scheduler Id from jobId ("repeat:job-scheduler-id:millis")
|
|
40
33
|
-- and check if it is in the scheduled jobs
|
|
41
|
-
if not isJobSchedulerJob(job, jobSchedulersKey) then
|
|
42
|
-
local jobKey = jobKeyPrefix .. job
|
|
34
|
+
if not (jobSchedulersKey and isJobSchedulerJob(job, jobKey, jobSchedulersKey)) then
|
|
43
35
|
if isFinished then
|
|
44
36
|
removeJob(job, true, jobKeyPrefix, true --[[remove debounce key]] )
|
|
45
37
|
deletedCount = deletedCount + 1
|