@tachybase/plugin-adapter-bullmq 1.3.16 → 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/index.js +4 -4
- 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
|
@@ -1,91 +0,0 @@
|
|
|
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
|
-
|
|
8
|
-
ARGV[1] next milliseconds
|
|
9
|
-
ARGV[2] msgpacked options
|
|
10
|
-
[1] name
|
|
11
|
-
[2] tz?
|
|
12
|
-
[3] patten?
|
|
13
|
-
[4] endDate?
|
|
14
|
-
[5] every?
|
|
15
|
-
ARGV[3] jobs scheduler id
|
|
16
|
-
ARGV[4] Json stringified template data
|
|
17
|
-
ARGV[5] mspacked template opts
|
|
18
|
-
ARGV[6] prefix key
|
|
19
|
-
|
|
20
|
-
Output:
|
|
21
|
-
repeatableKey - OK
|
|
22
|
-
]]
|
|
23
|
-
local rcall = redis.call
|
|
24
|
-
local repeatKey = KEYS[1]
|
|
25
|
-
local delayedKey = KEYS[2]
|
|
26
|
-
|
|
27
|
-
local nextMillis = ARGV[1]
|
|
28
|
-
local jobSchedulerId = ARGV[3]
|
|
29
|
-
local templateOpts = cmsgpack.unpack(ARGV[5])
|
|
30
|
-
local prefixKey = ARGV[6]
|
|
31
|
-
|
|
32
|
-
-- Includes
|
|
33
|
-
--- @include "includes/removeJob"
|
|
34
|
-
|
|
35
|
-
local function storeRepeatableJob(schedulerId, repeatKey, nextMillis, rawOpts, templateData, templateOpts)
|
|
36
|
-
rcall("ZADD", repeatKey, nextMillis, schedulerId)
|
|
37
|
-
local opts = cmsgpack.unpack(rawOpts)
|
|
38
|
-
|
|
39
|
-
local optionalValues = {}
|
|
40
|
-
if opts['tz'] then
|
|
41
|
-
table.insert(optionalValues, "tz")
|
|
42
|
-
table.insert(optionalValues, opts['tz'])
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
if opts['pattern'] then
|
|
46
|
-
table.insert(optionalValues, "pattern")
|
|
47
|
-
table.insert(optionalValues, opts['pattern'])
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
if opts['endDate'] then
|
|
51
|
-
table.insert(optionalValues, "endDate")
|
|
52
|
-
table.insert(optionalValues, opts['endDate'])
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
if opts['every'] then
|
|
56
|
-
table.insert(optionalValues, "every")
|
|
57
|
-
table.insert(optionalValues, opts['every'])
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
local jsonTemplateOpts = cjson.encode(templateOpts)
|
|
61
|
-
if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
|
|
62
|
-
table.insert(optionalValues, "opts")
|
|
63
|
-
table.insert(optionalValues, jsonTemplateOpts)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
if templateData and templateData ~= '{}' then
|
|
67
|
-
table.insert(optionalValues, "data")
|
|
68
|
-
table.insert(optionalValues, templateData)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
rcall("HMSET", repeatKey .. ":" .. schedulerId, "name", opts['name'],
|
|
72
|
-
unpack(optionalValues))
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
-- If we are overriding a repeatable job we must delete the delayed job for
|
|
76
|
-
-- the next iteration.
|
|
77
|
-
local prevMillis = rcall("ZSCORE", repeatKey, jobSchedulerId)
|
|
78
|
-
if prevMillis ~= false then
|
|
79
|
-
local delayedJobId = "repeat:" .. jobSchedulerId .. ":" .. prevMillis
|
|
80
|
-
local nextDelayedJobId = "repeat:" .. jobSchedulerId .. ":" .. nextMillis
|
|
81
|
-
local nextDelayedJobKey = repeatKey .. ":" .. jobSchedulerId .. ":" .. nextMillis
|
|
82
|
-
|
|
83
|
-
if rcall("ZSCORE", delayedKey, delayedJobId) ~= false
|
|
84
|
-
and (rcall("EXISTS", nextDelayedJobKey) ~= 1
|
|
85
|
-
or delayedJobId == nextDelayedJobId) then
|
|
86
|
-
removeJob(delayedJobId, true, prefixKey, true --[[remove debounce key]])
|
|
87
|
-
rcall("ZREM", delayedKey, delayedJobId)
|
|
88
|
-
end
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
return storeRepeatableJob(jobSchedulerId, repeatKey, nextMillis, ARGV[2], ARGV[4], templateOpts)
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
--[[
|
|
2
|
-
Function to recursively move from waitingChildren to failed.
|
|
3
|
-
]]
|
|
4
|
-
|
|
5
|
-
-- Includes
|
|
6
|
-
--- @include "moveParentToWaitIfNeeded"
|
|
7
|
-
--- @include "removeDeduplicationKeyIfNeeded"
|
|
8
|
-
--- @include "removeJobsOnFail"
|
|
9
|
-
|
|
10
|
-
local function moveParentFromWaitingChildrenToFailed( parentQueueKey, parentKey, parentId, jobIdKey, timestamp)
|
|
11
|
-
if rcall("ZREM", parentQueueKey .. ":waiting-children", parentId) == 1 then
|
|
12
|
-
local parentQueuePrefix = parentQueueKey .. ":"
|
|
13
|
-
local parentFailedKey = parentQueueKey .. ":failed"
|
|
14
|
-
rcall("ZADD", parentFailedKey, timestamp, parentId)
|
|
15
|
-
local failedReason = "child " .. jobIdKey .. " failed"
|
|
16
|
-
rcall("HMSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
|
|
17
|
-
rcall("XADD", parentQueueKey .. ":events", "*", "event", "failed", "jobId", parentId, "failedReason",
|
|
18
|
-
failedReason, "prev", "waiting-children")
|
|
19
|
-
|
|
20
|
-
local jobAttributes = rcall("HMGET", parentKey, "parent", "deid", "opts")
|
|
21
|
-
|
|
22
|
-
removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
|
|
23
|
-
|
|
24
|
-
if jobAttributes[1] then
|
|
25
|
-
local parentData = cjson.decode(jobAttributes[1])
|
|
26
|
-
if parentData['fpof'] then
|
|
27
|
-
moveParentFromWaitingChildrenToFailed(
|
|
28
|
-
parentData['queueKey'],
|
|
29
|
-
parentData['queueKey'] .. ':' .. parentData['id'],
|
|
30
|
-
parentData['id'],
|
|
31
|
-
parentKey,
|
|
32
|
-
timestamp
|
|
33
|
-
)
|
|
34
|
-
elseif parentData['idof'] or parentData['rdof'] then
|
|
35
|
-
local grandParentKey = parentData['queueKey'] .. ':' .. parentData['id']
|
|
36
|
-
local grandParentDependenciesSet = grandParentKey .. ":dependencies"
|
|
37
|
-
if rcall("SREM", grandParentDependenciesSet, parentKey) == 1 then
|
|
38
|
-
moveParentToWaitIfNeeded(parentData['queueKey'], grandParentDependenciesSet,
|
|
39
|
-
grandParentKey, parentData['id'], timestamp)
|
|
40
|
-
if parentData['idof'] then
|
|
41
|
-
local grandParentFailedSet = grandParentKey .. ":failed"
|
|
42
|
-
rcall("HSET", grandParentFailedSet, parentKey, failedReason)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
local parentRawOpts = jobAttributes[3]
|
|
49
|
-
local parentOpts = cjson.decode(parentRawOpts)
|
|
50
|
-
|
|
51
|
-
removeJobsOnFail(parentQueuePrefix, parentFailedKey, parentId, parentOpts, timestamp)
|
|
52
|
-
end
|
|
53
|
-
end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
--[[
|
|
2
|
-
Function to remove deduplication key.
|
|
3
|
-
]]
|
|
4
|
-
|
|
5
|
-
local function removeDeduplicationKey(prefixKey, jobKey)
|
|
6
|
-
local deduplicationId = rcall("HGET", jobKey, "deid")
|
|
7
|
-
if deduplicationId then
|
|
8
|
-
local deduplicationKey = prefixKey .. "de:" .. deduplicationId
|
|
9
|
-
rcall("DEL", deduplicationKey)
|
|
10
|
-
end
|
|
11
|
-
end
|
package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
--[[
|
|
2
|
-
Function to remove deduplication key if needed.
|
|
3
|
-
]]
|
|
4
|
-
|
|
5
|
-
local function removeDeduplicationKeyIfNeeded(prefixKey, deduplicationId)
|
|
6
|
-
if deduplicationId then
|
|
7
|
-
local deduplicationKey = prefixKey .. "de:" .. deduplicationId
|
|
8
|
-
local pttl = rcall("PTTL", deduplicationKey)
|
|
9
|
-
|
|
10
|
-
if pttl == 0 or pttl == -1 then
|
|
11
|
-
rcall("DEL", deduplicationKey)
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
--[[
|
|
2
|
-
Function to move job from active state to wait.
|
|
3
|
-
Input:
|
|
4
|
-
KEYS[1] active key
|
|
5
|
-
KEYS[2] wait key
|
|
6
|
-
|
|
7
|
-
KEYS[3] stalled key
|
|
8
|
-
KEYS[4] job lock key
|
|
9
|
-
KEYS[5] paused key
|
|
10
|
-
KEYS[6] meta key
|
|
11
|
-
KEYS[7] limiter key
|
|
12
|
-
KEYS[8] prioritized key
|
|
13
|
-
KEYS[9] marker key
|
|
14
|
-
KEYS[10] event key
|
|
15
|
-
|
|
16
|
-
ARGV[1] job id
|
|
17
|
-
ARGV[2] lock token
|
|
18
|
-
ARGV[3] job id key
|
|
19
|
-
]]
|
|
20
|
-
local rcall = redis.call
|
|
21
|
-
|
|
22
|
-
-- Includes
|
|
23
|
-
--- @include "includes/addJobInTargetList"
|
|
24
|
-
--- @include "includes/pushBackJobWithPriority"
|
|
25
|
-
--- @include "includes/getOrSetMaxEvents"
|
|
26
|
-
--- @include "includes/getTargetQueueList"
|
|
27
|
-
|
|
28
|
-
local jobId = ARGV[1]
|
|
29
|
-
local token = ARGV[2]
|
|
30
|
-
local lockKey = KEYS[4]
|
|
31
|
-
|
|
32
|
-
local lockToken = rcall("GET", lockKey)
|
|
33
|
-
local pttl = rcall("PTTL", KEYS[7])
|
|
34
|
-
if lockToken == token then
|
|
35
|
-
local metaKey = KEYS[6]
|
|
36
|
-
local removed = rcall("LREM", KEYS[1], 1, jobId)
|
|
37
|
-
if removed > 0 then
|
|
38
|
-
local target, isPausedOrMaxed = getTargetQueueList(metaKey, KEYS[1], KEYS[2], KEYS[5])
|
|
39
|
-
|
|
40
|
-
rcall("SREM", KEYS[3], jobId)
|
|
41
|
-
|
|
42
|
-
local priority = tonumber(rcall("HGET", ARGV[3], "priority")) or 0
|
|
43
|
-
|
|
44
|
-
if priority > 0 then
|
|
45
|
-
pushBackJobWithPriority(KEYS[8], priority, jobId)
|
|
46
|
-
else
|
|
47
|
-
addJobInTargetList(target, KEYS[9], "RPUSH", isPausedOrMaxed, jobId)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
rcall("DEL", lockKey)
|
|
51
|
-
|
|
52
|
-
local maxEvents = getOrSetMaxEvents(metaKey)
|
|
53
|
-
|
|
54
|
-
-- Emit waiting event
|
|
55
|
-
rcall("XADD", KEYS[10], "MAXLEN", "~", maxEvents, "*", "event", "waiting",
|
|
56
|
-
"jobId", jobId)
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
return pttl
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
--[[
|
|
2
|
-
Move stalled jobs to wait.
|
|
3
|
-
|
|
4
|
-
Input:
|
|
5
|
-
KEYS[1] 'stalled' (SET)
|
|
6
|
-
KEYS[2] 'wait', (LIST)
|
|
7
|
-
KEYS[3] 'active', (LIST)
|
|
8
|
-
KEYS[4] 'failed', (ZSET)
|
|
9
|
-
KEYS[5] 'stalled-check', (KEY)
|
|
10
|
-
KEYS[6] 'meta', (KEY)
|
|
11
|
-
KEYS[7] 'paused', (LIST)
|
|
12
|
-
KEYS[8] 'marker'
|
|
13
|
-
KEYS[9] 'event stream' (STREAM)
|
|
14
|
-
|
|
15
|
-
ARGV[1] Max stalled job count
|
|
16
|
-
ARGV[2] queue.toKey('')
|
|
17
|
-
ARGV[3] timestamp
|
|
18
|
-
ARGV[4] max check time
|
|
19
|
-
|
|
20
|
-
Events:
|
|
21
|
-
'stalled' with stalled job id.
|
|
22
|
-
]]
|
|
23
|
-
|
|
24
|
-
local rcall = redis.call
|
|
25
|
-
|
|
26
|
-
-- Includes
|
|
27
|
-
--- @include "includes/addJobInTargetList"
|
|
28
|
-
--- @include "includes/batches"
|
|
29
|
-
--- @include "includes/getTargetQueueList"
|
|
30
|
-
--- @include "includes/moveParentFromWaitingChildrenToFailed"
|
|
31
|
-
--- @include "includes/moveParentToWaitIfNeeded"
|
|
32
|
-
--- @include "includes/removeDeduplicationKeyIfNeeded"
|
|
33
|
-
--- @include "includes/removeJobsOnFail"
|
|
34
|
-
--- @include "includes/trimEvents"
|
|
35
|
-
|
|
36
|
-
local stalledKey = KEYS[1]
|
|
37
|
-
local waitKey = KEYS[2]
|
|
38
|
-
local activeKey = KEYS[3]
|
|
39
|
-
local failedKey = KEYS[4]
|
|
40
|
-
local stalledCheckKey = KEYS[5]
|
|
41
|
-
local metaKey = KEYS[6]
|
|
42
|
-
local pausedKey = KEYS[7]
|
|
43
|
-
local markerKey = KEYS[8]
|
|
44
|
-
local eventStreamKey = KEYS[9]
|
|
45
|
-
local maxStalledJobCount = tonumber(ARGV[1])
|
|
46
|
-
local queueKeyPrefix = ARGV[2]
|
|
47
|
-
local timestamp = ARGV[3]
|
|
48
|
-
local maxCheckTime = ARGV[4]
|
|
49
|
-
|
|
50
|
-
if rcall("EXISTS", stalledCheckKey) == 1 then return {{}, {}} end
|
|
51
|
-
|
|
52
|
-
rcall("SET", stalledCheckKey, timestamp, "PX", maxCheckTime)
|
|
53
|
-
|
|
54
|
-
-- Trim events before emiting them to avoid trimming events emitted in this script
|
|
55
|
-
trimEvents(metaKey, eventStreamKey)
|
|
56
|
-
|
|
57
|
-
-- Move all stalled jobs to wait
|
|
58
|
-
local stalling = rcall('SMEMBERS', stalledKey)
|
|
59
|
-
local stalled = {}
|
|
60
|
-
local failed = {}
|
|
61
|
-
if (#stalling > 0) then
|
|
62
|
-
rcall('DEL', stalledKey)
|
|
63
|
-
|
|
64
|
-
-- Remove from active list
|
|
65
|
-
for i, jobId in ipairs(stalling) do
|
|
66
|
-
-- Markers in waitlist DEPRECATED in v5: Remove in v6.
|
|
67
|
-
if string.sub(jobId, 1, 2) == "0:" then
|
|
68
|
-
-- If the jobId is a delay marker ID we just remove it.
|
|
69
|
-
rcall("LREM", activeKey, 1, jobId)
|
|
70
|
-
else
|
|
71
|
-
local jobKey = queueKeyPrefix .. jobId
|
|
72
|
-
|
|
73
|
-
-- Check that the lock is also missing, then we can handle this job as really stalled.
|
|
74
|
-
if (rcall("EXISTS", jobKey .. ":lock") == 0) then
|
|
75
|
-
-- Remove from the active queue.
|
|
76
|
-
local removed = rcall("LREM", activeKey, 1, jobId)
|
|
77
|
-
|
|
78
|
-
if (removed > 0) then
|
|
79
|
-
-- If this job has been stalled too many times, such as if it crashes the worker, then fail it.
|
|
80
|
-
local stalledCount =
|
|
81
|
-
rcall("HINCRBY", jobKey, "stalledCounter", 1)
|
|
82
|
-
if (stalledCount > maxStalledJobCount) then
|
|
83
|
-
local jobAttributes = rcall("HMGET", jobKey, "opts", "parent", "deid")
|
|
84
|
-
local rawOpts = jobAttributes[1]
|
|
85
|
-
local rawParentData = jobAttributes[2]
|
|
86
|
-
local opts = cjson.decode(rawOpts)
|
|
87
|
-
rcall("ZADD", failedKey, timestamp, jobId)
|
|
88
|
-
removeDeduplicationKeyIfNeeded(queueKeyPrefix, jobAttributes[3])
|
|
89
|
-
|
|
90
|
-
local failedReason =
|
|
91
|
-
"job stalled more than allowable limit"
|
|
92
|
-
rcall("HMSET", jobKey, "failedReason", failedReason,
|
|
93
|
-
"finishedOn", timestamp)
|
|
94
|
-
rcall("XADD", eventStreamKey, "*", "event",
|
|
95
|
-
"failed", "jobId", jobId, 'prev', 'active',
|
|
96
|
-
'failedReason', failedReason)
|
|
97
|
-
|
|
98
|
-
if rawParentData ~= false then
|
|
99
|
-
if opts['fpof'] then
|
|
100
|
-
local parentData = cjson.decode(rawParentData)
|
|
101
|
-
moveParentFromWaitingChildrenToFailed(
|
|
102
|
-
parentData['queueKey'],
|
|
103
|
-
parentData['queueKey'] .. ':' .. parentData['id'],
|
|
104
|
-
parentData['id'],
|
|
105
|
-
jobKey,
|
|
106
|
-
timestamp
|
|
107
|
-
)
|
|
108
|
-
elseif opts['idof'] or opts['rdof'] then
|
|
109
|
-
local parentData = cjson.decode(rawParentData)
|
|
110
|
-
local parentKey = parentData['queueKey'] .. ':' .. parentData['id']
|
|
111
|
-
local dependenciesSet = parentKey .. ":dependencies"
|
|
112
|
-
if rcall("SREM", dependenciesSet, jobKey) == 1 then
|
|
113
|
-
moveParentToWaitIfNeeded(parentData['queueKey'], dependenciesSet,
|
|
114
|
-
parentKey, parentData['id'], timestamp)
|
|
115
|
-
if opts['idof'] then
|
|
116
|
-
local failedSet = parentKey .. ":failed"
|
|
117
|
-
rcall("HSET", failedSet, jobKey, failedReason)
|
|
118
|
-
end
|
|
119
|
-
end
|
|
120
|
-
end
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
removeJobsOnFail(queueKeyPrefix, failedKey, jobId, opts, timestamp)
|
|
124
|
-
|
|
125
|
-
table.insert(failed, jobId)
|
|
126
|
-
else
|
|
127
|
-
local target, isPausedOrMaxed =
|
|
128
|
-
getTargetQueueList(metaKey, activeKey, waitKey, pausedKey)
|
|
129
|
-
|
|
130
|
-
-- Move the job back to the wait queue, to immediately be picked up by a waiting worker.
|
|
131
|
-
addJobInTargetList(target, markerKey, "RPUSH", isPausedOrMaxed, jobId)
|
|
132
|
-
|
|
133
|
-
rcall("XADD", eventStreamKey, "*", "event",
|
|
134
|
-
"waiting", "jobId", jobId, 'prev', 'active')
|
|
135
|
-
|
|
136
|
-
-- Emit the stalled event
|
|
137
|
-
rcall("XADD", eventStreamKey, "*", "event",
|
|
138
|
-
"stalled", "jobId", jobId)
|
|
139
|
-
table.insert(stalled, jobId)
|
|
140
|
-
end
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
end
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
-- Mark potentially stalled jobs
|
|
148
|
-
local active = rcall('LRANGE', activeKey, 0, -1)
|
|
149
|
-
|
|
150
|
-
if (#active > 0) then
|
|
151
|
-
for from, to in batches(#active, 7000) do
|
|
152
|
-
rcall('SADD', stalledKey, unpack(active, from, to))
|
|
153
|
-
end
|
|
154
|
-
end
|
|
155
|
-
|
|
156
|
-
return {failed, stalled}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
--[[
|
|
2
|
-
Moves job from active to waiting children set.
|
|
3
|
-
|
|
4
|
-
Input:
|
|
5
|
-
KEYS[1] lock key
|
|
6
|
-
KEYS[2] active key
|
|
7
|
-
KEYS[3] waitChildrenKey key
|
|
8
|
-
KEYS[4] job key
|
|
9
|
-
KEYS[5] stalled key
|
|
10
|
-
|
|
11
|
-
ARGV[1] token
|
|
12
|
-
ARGV[2] child key
|
|
13
|
-
ARGV[3] timestamp
|
|
14
|
-
ARGV[4] the id of the job
|
|
15
|
-
|
|
16
|
-
Output:
|
|
17
|
-
0 - OK
|
|
18
|
-
1 - There are not pending dependencies.
|
|
19
|
-
-1 - Missing job.
|
|
20
|
-
-2 - Missing lock
|
|
21
|
-
-3 - Job not in active set
|
|
22
|
-
]]
|
|
23
|
-
local rcall = redis.call
|
|
24
|
-
local stalledKey = KEYS[5]
|
|
25
|
-
|
|
26
|
-
--- Includes
|
|
27
|
-
--- @include "includes/removeLock"
|
|
28
|
-
|
|
29
|
-
local function moveToWaitingChildren (activeKey, waitingChildrenKey, jobId,
|
|
30
|
-
timestamp)
|
|
31
|
-
local score = tonumber(timestamp)
|
|
32
|
-
|
|
33
|
-
local numRemovedElements = rcall("LREM", activeKey, -1, jobId)
|
|
34
|
-
|
|
35
|
-
if(numRemovedElements < 1) then
|
|
36
|
-
return -3
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
rcall("ZADD", waitingChildrenKey, score, jobId)
|
|
40
|
-
|
|
41
|
-
return 0
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
if rcall("EXISTS", KEYS[4]) == 1 then
|
|
45
|
-
if ARGV[2] ~= "" then
|
|
46
|
-
if rcall("SISMEMBER", KEYS[4] .. ":dependencies", ARGV[2]) ~= 0 then
|
|
47
|
-
local errorCode = removeLock(KEYS[4], stalledKey, ARGV[1], ARGV[4])
|
|
48
|
-
if errorCode < 0 then
|
|
49
|
-
return errorCode
|
|
50
|
-
end
|
|
51
|
-
return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3])
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
return 1
|
|
55
|
-
else
|
|
56
|
-
if rcall("SCARD", KEYS[4] .. ":dependencies") ~= 0 then
|
|
57
|
-
local errorCode = removeLock(KEYS[4], stalledKey, ARGV[1], ARGV[4])
|
|
58
|
-
if errorCode < 0 then
|
|
59
|
-
return errorCode
|
|
60
|
-
end
|
|
61
|
-
return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3])
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
return 1
|
|
65
|
-
end
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
return -1
|