bullmq 4.0.0-beta.1 → 4.0.0
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/README.md +156 -22
- package/dist/cjs/classes/async-fifo-queue.js +90 -0
- package/dist/cjs/classes/async-fifo-queue.js.map +1 -0
- package/dist/{classes → cjs/classes}/backoffs.js +10 -9
- package/dist/cjs/classes/backoffs.js.map +1 -0
- package/dist/cjs/classes/child-pool.js +64 -0
- package/dist/cjs/classes/child-pool.js.map +1 -0
- package/dist/cjs/classes/child-processor.js +150 -0
- package/dist/cjs/classes/child-processor.js.map +1 -0
- package/dist/cjs/classes/child.js +216 -0
- package/dist/cjs/classes/child.js.map +1 -0
- package/dist/cjs/classes/delayed-error.js +19 -0
- package/dist/cjs/classes/delayed-error.js.map +1 -0
- package/dist/cjs/classes/flow-producer.js +283 -0
- package/dist/cjs/classes/flow-producer.js.map +1 -0
- package/dist/{classes → cjs/classes}/index.js +11 -3
- package/dist/cjs/classes/index.js.map +1 -0
- package/dist/cjs/classes/job.js +768 -0
- package/dist/cjs/classes/job.js.map +1 -0
- package/dist/cjs/classes/main-base.js +45 -0
- package/dist/cjs/classes/main-base.js.map +1 -0
- package/dist/cjs/classes/main-worker.js +10 -0
- package/dist/cjs/classes/main-worker.js.map +1 -0
- package/dist/cjs/classes/main.js +10 -0
- package/dist/cjs/classes/main.js.map +1 -0
- package/dist/cjs/classes/queue-base.js +135 -0
- package/dist/cjs/classes/queue-base.js.map +1 -0
- package/dist/cjs/classes/queue-events.js +120 -0
- package/dist/cjs/classes/queue-events.js.map +1 -0
- package/dist/cjs/classes/queue-getters.js +347 -0
- package/dist/cjs/classes/queue-getters.js.map +1 -0
- package/dist/cjs/classes/queue-keys.js +45 -0
- package/dist/cjs/classes/queue-keys.js.map +1 -0
- package/dist/cjs/classes/queue.js +275 -0
- package/dist/cjs/classes/queue.js.map +1 -0
- package/dist/cjs/classes/redis-connection.js +207 -0
- package/dist/cjs/classes/redis-connection.js.map +1 -0
- package/dist/cjs/classes/repeat.js +149 -0
- package/dist/cjs/classes/repeat.js.map +1 -0
- package/dist/{classes → cjs/classes}/sandbox.js +18 -14
- package/dist/cjs/classes/sandbox.js.map +1 -0
- package/dist/cjs/classes/scripts.js +658 -0
- package/dist/cjs/classes/scripts.js.map +1 -0
- package/dist/cjs/classes/unrecoverable-error.js +19 -0
- package/dist/cjs/classes/unrecoverable-error.js.map +1 -0
- package/dist/cjs/classes/waiting-children-error.js +19 -0
- package/dist/cjs/classes/waiting-children-error.js.map +1 -0
- package/dist/cjs/classes/worker.js +577 -0
- package/dist/cjs/classes/worker.js.map +1 -0
- package/dist/cjs/commands/addJob-9.lua +170 -0
- package/dist/cjs/commands/changeDelay-3.lua +40 -0
- package/dist/cjs/commands/changePriority-5.lua +52 -0
- package/dist/cjs/commands/cleanJobsInSet-2.lua +48 -0
- package/dist/cjs/commands/drain-4.lua +26 -0
- package/dist/{commands → cjs/commands}/extendLock-2.lua +1 -0
- package/dist/cjs/commands/getCounts-1.lua +35 -0
- package/dist/cjs/commands/getRanges-1.lua +69 -0
- package/dist/cjs/commands/getState-8.lua +66 -0
- package/dist/cjs/commands/getStateV2-8.lua +59 -0
- package/dist/cjs/commands/includes/addDelayMarkerIfNeeded.lua +15 -0
- package/dist/cjs/commands/includes/addJobWithPriority.lua +15 -0
- package/dist/cjs/commands/includes/addPriorityMarkerIfNeeded.lua +12 -0
- package/dist/cjs/commands/includes/batches.lua +18 -0
- package/dist/cjs/commands/includes/checkItemInList.lua +12 -0
- package/dist/cjs/commands/includes/checkStalledJobs.lua +139 -0
- package/dist/cjs/commands/includes/cleanList.lua +47 -0
- package/dist/cjs/commands/includes/cleanSet.lua +39 -0
- package/dist/cjs/commands/includes/collectMetrics.lua +46 -0
- package/dist/cjs/commands/includes/destructureJobKey.lua +12 -0
- package/dist/cjs/commands/includes/getJobsInZset.lua +12 -0
- package/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +13 -0
- package/dist/cjs/commands/includes/getRateLimitTTL.lua +17 -0
- package/dist/cjs/commands/includes/getTargetQueueList.lua +12 -0
- package/dist/cjs/commands/includes/getTimestamp.lua +19 -0
- package/dist/cjs/commands/includes/getZSetItems.lua +7 -0
- package/dist/cjs/commands/includes/isLocked.lua +31 -0
- package/dist/cjs/commands/includes/moveJobFromPriorityToActive.lua +14 -0
- package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +28 -0
- package/dist/cjs/commands/includes/prepareJobForProcessing.lua +74 -0
- package/dist/cjs/commands/includes/promoteDelayedJobs.lua +39 -0
- package/dist/cjs/commands/includes/pushBackJobWithPriority.lua +9 -0
- package/dist/cjs/commands/includes/removeJob.lua +13 -0
- package/dist/cjs/commands/includes/removeJobFromAnyState.lua +35 -0
- package/dist/cjs/commands/includes/removeJobs.lua +25 -0
- package/dist/cjs/commands/includes/removeJobsByMaxAge.lua +15 -0
- package/dist/cjs/commands/includes/removeJobsByMaxCount.lua +15 -0
- package/dist/cjs/commands/includes/removeParentDependencyKey.lua +77 -0
- package/dist/cjs/commands/includes/removeZSetJobs.lua +15 -0
- package/dist/cjs/commands/includes/trimEvents.lua +12 -0
- package/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +40 -0
- package/dist/cjs/commands/index.js +10 -0
- package/dist/cjs/commands/index.js.map +1 -0
- package/dist/cjs/commands/isFinished-3.lua +48 -0
- package/dist/cjs/commands/isJobInList-1.lua +16 -0
- package/dist/cjs/commands/moveJobFromActiveToWait-9.lua +53 -0
- package/dist/cjs/commands/moveStalledJobsToWait-8.lua +24 -0
- package/dist/cjs/commands/moveToActive-10.lua +116 -0
- package/dist/cjs/commands/moveToDelayed-8.lua +66 -0
- package/dist/cjs/commands/moveToFinished-13.lua +250 -0
- package/dist/cjs/commands/moveToWaitingChildren-4.lua +62 -0
- package/dist/cjs/commands/obliterate-2.lua +102 -0
- package/dist/cjs/commands/pause-5.lua +36 -0
- package/dist/cjs/commands/promote-7.lua +57 -0
- package/dist/cjs/commands/releaseLock-1.lua +19 -0
- package/dist/cjs/commands/removeJob-1.lua +71 -0
- package/{src → dist/cjs}/commands/removeRepeatable-2.lua +13 -1
- package/dist/cjs/commands/reprocessJob-6.lua +43 -0
- package/dist/cjs/commands/retryJob-9.lua +69 -0
- package/dist/cjs/commands/retryJobs-6.lua +53 -0
- package/dist/cjs/commands/saveStacktrace-1.lua +22 -0
- package/dist/cjs/commands/script-loader.js +408 -0
- package/dist/cjs/commands/script-loader.js.map +1 -0
- package/dist/cjs/commands/updateData-1.lua +20 -0
- package/dist/cjs/commands/updateProgress-2.lua +26 -0
- package/dist/cjs/enums/error-code.enum.js +13 -0
- package/dist/cjs/enums/error-code.enum.js.map +1 -0
- package/dist/cjs/enums/index.js +6 -0
- package/dist/cjs/enums/index.js.map +1 -0
- package/dist/cjs/enums/metrics-time.js +15 -0
- package/dist/cjs/enums/metrics-time.js.map +1 -0
- package/dist/{index.js → cjs/index.js} +2 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces/advanced-options.js +3 -0
- package/dist/cjs/interfaces/advanced-options.js.map +1 -0
- package/dist/cjs/interfaces/backoff-options.js.map +1 -0
- package/dist/cjs/interfaces/base-job-options.js +3 -0
- package/dist/cjs/interfaces/base-job-options.js.map +1 -0
- package/dist/cjs/interfaces/child-command.js +10 -0
- package/dist/cjs/interfaces/child-command.js.map +1 -0
- package/dist/{interfaces/backoff-opts.js → cjs/interfaces/child-message.js} +1 -1
- package/dist/cjs/interfaces/child-message.js.map +1 -0
- package/dist/{interfaces/redis-opts.js → cjs/interfaces/connection.js} +1 -1
- package/dist/cjs/interfaces/connection.js.map +1 -0
- package/dist/{interfaces/jobs-opts.js → cjs/interfaces/flow-job.js} +1 -1
- package/dist/cjs/interfaces/flow-job.js.map +1 -0
- package/dist/cjs/interfaces/index.js +28 -0
- package/dist/cjs/interfaces/index.js.map +1 -0
- package/dist/cjs/interfaces/ioredis-events.js +3 -0
- package/dist/cjs/interfaces/ioredis-events.js.map +1 -0
- package/dist/{interfaces/repeat-opts.js → cjs/interfaces/job-json.js} +1 -1
- package/dist/cjs/interfaces/job-json.js.map +1 -0
- package/dist/{interfaces/worker-opts.js → cjs/interfaces/keep-jobs.js} +1 -1
- package/dist/cjs/interfaces/keep-jobs.js.map +1 -0
- package/dist/cjs/interfaces/metrics-options.js +3 -0
- package/dist/cjs/interfaces/metrics-options.js.map +1 -0
- package/dist/cjs/interfaces/metrics.js +3 -0
- package/dist/cjs/interfaces/metrics.js.map +1 -0
- package/dist/cjs/interfaces/minimal-job.js +3 -0
- package/dist/cjs/interfaces/minimal-job.js.map +1 -0
- package/dist/cjs/interfaces/parent-command.js +15 -0
- package/dist/cjs/interfaces/parent-command.js.map +1 -0
- package/dist/cjs/interfaces/parent-message.js +3 -0
- package/dist/cjs/interfaces/parent-message.js.map +1 -0
- package/dist/cjs/interfaces/parent.js +3 -0
- package/dist/cjs/interfaces/parent.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/queue-options.js +1 -0
- package/dist/cjs/interfaces/queue-options.js.map +1 -0
- package/dist/cjs/interfaces/rate-limiter-options.js.map +1 -0
- package/dist/cjs/interfaces/redis-options.js.map +1 -0
- package/dist/{interfaces/jobs-options.js → cjs/interfaces/redis-streams.js} +1 -1
- package/dist/cjs/interfaces/redis-streams.js.map +1 -0
- package/dist/cjs/interfaces/repeat-options.js.map +1 -0
- package/dist/cjs/interfaces/sandboxed-job-processor.js +3 -0
- package/dist/cjs/interfaces/sandboxed-job-processor.js.map +1 -0
- package/dist/cjs/interfaces/sandboxed-job.js +3 -0
- package/dist/cjs/interfaces/sandboxed-job.js.map +1 -0
- package/dist/cjs/interfaces/worker-options.js.map +1 -0
- package/dist/cjs/scripts/addJob-9.js +252 -0
- package/dist/cjs/scripts/addJob-9.js.map +1 -0
- package/dist/cjs/scripts/changeDelay-3.js +41 -0
- package/dist/cjs/scripts/changeDelay-3.js.map +1 -0
- package/dist/cjs/scripts/changePriority-5.js +87 -0
- package/dist/cjs/scripts/changePriority-5.js.map +1 -0
- package/dist/cjs/scripts/cleanJobsInSet-2.js +259 -0
- package/dist/cjs/scripts/cleanJobsInSet-2.js.map +1 -0
- package/dist/cjs/scripts/drain-4.js +178 -0
- package/dist/cjs/scripts/drain-4.js.map +1 -0
- package/dist/cjs/scripts/extendLock-2.js +30 -0
- package/dist/cjs/scripts/extendLock-2.js.map +1 -0
- package/dist/cjs/scripts/getCounts-1.js +41 -0
- package/dist/cjs/scripts/getCounts-1.js.map +1 -0
- package/dist/cjs/scripts/getRanges-1.js +72 -0
- package/dist/cjs/scripts/getRanges-1.js.map +1 -0
- package/dist/cjs/scripts/getState-8.js +74 -0
- package/dist/cjs/scripts/getState-8.js.map +1 -0
- package/dist/cjs/scripts/getStateV2-8.js +58 -0
- package/dist/cjs/scripts/getStateV2-8.js.map +1 -0
- package/dist/cjs/scripts/index.js +34 -0
- package/dist/cjs/scripts/index.js.map +1 -0
- package/dist/cjs/scripts/isFinished-3.js +49 -0
- package/dist/cjs/scripts/isFinished-3.js.map +1 -0
- package/dist/cjs/scripts/isJobInList-1.js +32 -0
- package/dist/cjs/scripts/isJobInList-1.js.map +1 -0
- package/dist/cjs/scripts/moveJobFromActiveToWait-9.js +70 -0
- package/dist/cjs/scripts/moveJobFromActiveToWait-9.js.map +1 -0
- package/dist/cjs/scripts/moveStalledJobsToWait-8.js +289 -0
- package/dist/cjs/scripts/moveStalledJobsToWait-8.js.map +1 -0
- package/dist/cjs/scripts/moveToActive-10.js +269 -0
- package/dist/cjs/scripts/moveToActive-10.js.map +1 -0
- package/dist/cjs/scripts/moveToDelayed-8.js +152 -0
- package/dist/cjs/scripts/moveToDelayed-8.js.map +1 -0
- package/dist/cjs/scripts/moveToFinished-13.js +624 -0
- package/dist/cjs/scripts/moveToFinished-13.js.map +1 -0
- package/dist/cjs/scripts/moveToWaitingChildren-4.js +59 -0
- package/dist/cjs/scripts/moveToWaitingChildren-4.js.map +1 -0
- package/dist/cjs/scripts/obliterate-2.js +244 -0
- package/dist/cjs/scripts/obliterate-2.js.map +1 -0
- package/dist/cjs/scripts/pause-5.js +48 -0
- package/dist/cjs/scripts/pause-5.js.map +1 -0
- package/dist/cjs/scripts/promote-7.js +87 -0
- package/dist/cjs/scripts/promote-7.js.map +1 -0
- package/dist/cjs/scripts/releaseLock-1.js +25 -0
- package/dist/cjs/scripts/releaseLock-1.js.map +1 -0
- package/dist/cjs/scripts/removeJob-1.js +210 -0
- package/dist/cjs/scripts/removeJob-1.js.map +1 -0
- package/dist/cjs/scripts/removeRepeatable-2.js +38 -0
- package/dist/cjs/scripts/removeRepeatable-2.js.map +1 -0
- package/dist/cjs/scripts/reprocessJob-6.js +56 -0
- package/dist/cjs/scripts/reprocessJob-6.js.map +1 -0
- package/dist/cjs/scripts/retryJob-9.js +128 -0
- package/dist/cjs/scripts/retryJob-9.js.map +1 -0
- package/dist/cjs/scripts/retryJobs-6.js +76 -0
- package/dist/cjs/scripts/retryJobs-6.js.map +1 -0
- package/dist/cjs/scripts/saveStacktrace-1.js +27 -0
- package/dist/cjs/scripts/saveStacktrace-1.js.map +1 -0
- package/dist/cjs/scripts/updateData-1.js +26 -0
- package/dist/cjs/scripts/updateData-1.js.map +1 -0
- package/dist/cjs/scripts/updateProgress-2.js +31 -0
- package/dist/cjs/scripts/updateProgress-2.js.map +1 -0
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -0
- package/dist/cjs/types/backoff-strategy.js +3 -0
- package/dist/cjs/types/backoff-strategy.js.map +1 -0
- package/dist/cjs/types/finished-status.js +3 -0
- package/dist/cjs/types/finished-status.js.map +1 -0
- package/dist/cjs/types/index.js +11 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/job-json-sandbox.js +3 -0
- package/dist/cjs/types/job-json-sandbox.js.map +1 -0
- package/dist/cjs/types/job-options.js +3 -0
- package/dist/cjs/types/job-options.js.map +1 -0
- package/dist/cjs/types/job-type.js +3 -0
- package/dist/cjs/types/job-type.js.map +1 -0
- package/dist/cjs/types/minimal-queue.js +3 -0
- package/dist/cjs/types/minimal-queue.js.map +1 -0
- package/dist/cjs/types/repeat-strategy.js +3 -0
- package/dist/cjs/types/repeat-strategy.js.map +1 -0
- package/dist/cjs/utils.js +152 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/classes/async-fifo-queue.d.ts +31 -0
- package/dist/esm/classes/async-fifo-queue.js +86 -0
- package/dist/esm/classes/async-fifo-queue.js.map +1 -0
- package/dist/esm/classes/backoffs.d.ts +10 -0
- package/dist/esm/classes/backoffs.js +44 -0
- package/dist/esm/classes/backoffs.js.map +1 -0
- package/dist/esm/classes/child-pool.d.ts +23 -0
- package/dist/esm/classes/child-pool.js +60 -0
- package/dist/esm/classes/child-pool.js.map +1 -0
- package/dist/esm/classes/child-processor.d.ts +26 -0
- package/dist/esm/classes/child-processor.js +146 -0
- package/dist/esm/classes/child-processor.js.map +1 -0
- package/dist/esm/classes/child.d.ts +36 -0
- package/dist/esm/classes/child.js +212 -0
- package/dist/esm/classes/child.js.map +1 -0
- package/dist/esm/classes/delayed-error.d.ts +10 -0
- package/dist/esm/classes/delayed-error.js +15 -0
- package/dist/esm/classes/delayed-error.js.map +1 -0
- package/dist/esm/classes/flow-producer.d.ts +163 -0
- package/dist/esm/classes/flow-producer.js +279 -0
- package/dist/esm/classes/flow-producer.js.map +1 -0
- package/dist/{classes → esm/classes}/index.d.ts +9 -3
- package/dist/esm/classes/index.js +22 -0
- package/dist/esm/classes/index.js.map +1 -0
- package/dist/esm/classes/job.d.ts +355 -0
- package/dist/esm/classes/job.js +764 -0
- package/dist/esm/classes/job.js.map +1 -0
- package/dist/esm/classes/main-base.d.ts +4 -0
- package/dist/esm/classes/main-base.js +43 -0
- package/dist/esm/classes/main-base.js.map +1 -0
- package/dist/esm/classes/main-worker.js +8 -0
- package/dist/esm/classes/main-worker.js.map +1 -0
- package/dist/esm/classes/main.js +8 -0
- package/dist/esm/classes/main.js.map +1 -0
- package/dist/esm/classes/queue-base.d.ts +67 -0
- package/dist/esm/classes/queue-base.js +131 -0
- package/dist/esm/classes/queue-base.js.map +1 -0
- package/dist/esm/classes/queue-events.d.ts +179 -0
- package/dist/esm/classes/queue-events.js +116 -0
- package/dist/esm/classes/queue-events.js.map +1 -0
- package/dist/esm/classes/queue-getters.d.ts +164 -0
- package/dist/esm/classes/queue-getters.js +344 -0
- package/dist/esm/classes/queue-getters.js.map +1 -0
- package/dist/esm/classes/queue-keys.d.ts +10 -0
- package/dist/esm/classes/queue-keys.js +41 -0
- package/dist/esm/classes/queue-keys.js.map +1 -0
- package/dist/esm/classes/queue.d.ts +236 -0
- package/dist/esm/classes/queue.js +271 -0
- package/dist/esm/classes/queue.js.map +1 -0
- package/dist/esm/classes/redis-connection.d.ts +37 -0
- package/dist/esm/classes/redis-connection.js +203 -0
- package/dist/esm/classes/redis-connection.js.map +1 -0
- package/dist/esm/classes/repeat.d.ts +25 -0
- package/dist/esm/classes/repeat.js +144 -0
- package/dist/esm/classes/repeat.js.map +1 -0
- package/dist/esm/classes/sandbox.d.ts +4 -0
- package/dist/esm/classes/sandbox.js +58 -0
- package/dist/esm/classes/sandbox.js.map +1 -0
- package/dist/esm/classes/scripts.d.ts +106 -0
- package/dist/esm/classes/scripts.js +654 -0
- package/dist/esm/classes/scripts.js.map +1 -0
- package/dist/esm/classes/unrecoverable-error.d.ts +10 -0
- package/dist/esm/classes/unrecoverable-error.js +15 -0
- package/dist/esm/classes/unrecoverable-error.js.map +1 -0
- package/dist/esm/classes/waiting-children-error.d.ts +10 -0
- package/dist/esm/classes/waiting-children-error.js +15 -0
- package/dist/esm/classes/waiting-children-error.js.map +1 -0
- package/dist/esm/classes/worker.d.ts +215 -0
- package/dist/esm/classes/worker.js +573 -0
- package/dist/esm/classes/worker.js.map +1 -0
- package/dist/esm/commands/addJob-9.lua +170 -0
- package/dist/esm/commands/changeDelay-3.lua +40 -0
- package/dist/esm/commands/changePriority-5.lua +52 -0
- package/dist/esm/commands/cleanJobsInSet-2.lua +48 -0
- package/dist/esm/commands/drain-4.lua +26 -0
- package/{src → dist/esm}/commands/extendLock-2.lua +1 -0
- package/dist/esm/commands/getCounts-1.lua +35 -0
- package/dist/esm/commands/getRanges-1.lua +69 -0
- package/dist/esm/commands/getState-8.lua +66 -0
- package/dist/esm/commands/getStateV2-8.lua +59 -0
- package/dist/esm/commands/includes/addDelayMarkerIfNeeded.lua +15 -0
- package/dist/esm/commands/includes/addJobWithPriority.lua +15 -0
- package/dist/esm/commands/includes/addPriorityMarkerIfNeeded.lua +12 -0
- package/dist/esm/commands/includes/batches.lua +18 -0
- package/dist/esm/commands/includes/checkItemInList.lua +12 -0
- package/dist/esm/commands/includes/checkStalledJobs.lua +139 -0
- package/dist/esm/commands/includes/cleanList.lua +47 -0
- package/dist/esm/commands/includes/cleanSet.lua +39 -0
- package/dist/esm/commands/includes/collectMetrics.lua +46 -0
- package/dist/esm/commands/includes/destructureJobKey.lua +12 -0
- package/dist/esm/commands/includes/getJobsInZset.lua +12 -0
- package/dist/esm/commands/includes/getNextDelayedTimestamp.lua +13 -0
- package/dist/esm/commands/includes/getRateLimitTTL.lua +17 -0
- package/dist/esm/commands/includes/getTargetQueueList.lua +12 -0
- package/dist/esm/commands/includes/getTimestamp.lua +19 -0
- package/dist/esm/commands/includes/getZSetItems.lua +7 -0
- package/dist/esm/commands/includes/isLocked.lua +31 -0
- package/dist/esm/commands/includes/moveJobFromPriorityToActive.lua +14 -0
- package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +28 -0
- package/dist/esm/commands/includes/prepareJobForProcessing.lua +74 -0
- package/dist/esm/commands/includes/promoteDelayedJobs.lua +39 -0
- package/dist/esm/commands/includes/pushBackJobWithPriority.lua +9 -0
- package/dist/esm/commands/includes/removeJob.lua +13 -0
- package/dist/esm/commands/includes/removeJobFromAnyState.lua +35 -0
- package/dist/esm/commands/includes/removeJobs.lua +25 -0
- package/dist/esm/commands/includes/removeJobsByMaxAge.lua +15 -0
- package/dist/esm/commands/includes/removeJobsByMaxCount.lua +15 -0
- package/dist/esm/commands/includes/removeParentDependencyKey.lua +77 -0
- package/dist/esm/commands/includes/removeZSetJobs.lua +15 -0
- package/dist/esm/commands/includes/trimEvents.lua +12 -0
- package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +40 -0
- package/dist/esm/commands/index.d.ts +4 -0
- package/dist/esm/commands/index.js +5 -0
- package/dist/esm/commands/index.js.map +1 -0
- package/dist/esm/commands/isFinished-3.lua +48 -0
- package/dist/esm/commands/isJobInList-1.lua +16 -0
- package/dist/esm/commands/moveJobFromActiveToWait-9.lua +53 -0
- package/dist/esm/commands/moveStalledJobsToWait-8.lua +24 -0
- package/dist/esm/commands/moveToActive-10.lua +116 -0
- package/dist/esm/commands/moveToDelayed-8.lua +66 -0
- package/dist/esm/commands/moveToFinished-13.lua +250 -0
- package/dist/esm/commands/moveToWaitingChildren-4.lua +62 -0
- package/dist/esm/commands/obliterate-2.lua +102 -0
- package/dist/esm/commands/pause-5.lua +36 -0
- package/dist/esm/commands/promote-7.lua +57 -0
- package/dist/esm/commands/releaseLock-1.lua +19 -0
- package/dist/esm/commands/removeJob-1.lua +71 -0
- package/dist/{commands → esm/commands}/removeRepeatable-2.lua +13 -1
- package/dist/esm/commands/reprocessJob-6.lua +43 -0
- package/dist/esm/commands/retryJob-9.lua +69 -0
- package/dist/esm/commands/retryJobs-6.lua +53 -0
- package/dist/esm/commands/saveStacktrace-1.lua +22 -0
- package/dist/esm/commands/script-loader.d.ts +119 -0
- package/dist/esm/commands/script-loader.js +403 -0
- package/dist/esm/commands/script-loader.js.map +1 -0
- package/dist/esm/commands/updateData-1.lua +20 -0
- package/dist/esm/commands/updateProgress-2.lua +26 -0
- package/dist/esm/enums/error-code.enum.d.ts +8 -0
- package/dist/esm/enums/error-code.enum.js +10 -0
- package/dist/esm/enums/error-code.enum.js.map +1 -0
- package/dist/esm/enums/index.d.ts +2 -0
- package/dist/esm/enums/index.js +3 -0
- package/dist/esm/enums/index.js.map +1 -0
- package/dist/esm/enums/metrics-time.d.ts +10 -0
- package/dist/esm/enums/metrics-time.js +12 -0
- package/dist/esm/enums/metrics-time.js.map +1 -0
- package/dist/{index.d.ts → esm/index.d.ts} +2 -0
- package/{src/index.ts → dist/esm/index.js} +7 -4
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/advanced-options.d.ts +13 -0
- package/dist/esm/interfaces/advanced-options.js +2 -0
- package/dist/esm/interfaces/advanced-options.js.map +1 -0
- package/dist/esm/interfaces/backoff-options.d.ts +15 -0
- package/dist/esm/interfaces/backoff-options.js +2 -0
- package/dist/esm/interfaces/backoff-options.js.map +1 -0
- package/dist/esm/interfaces/base-job-options.d.ts +97 -0
- package/dist/esm/interfaces/base-job-options.js +2 -0
- package/dist/esm/interfaces/base-job-options.js.map +1 -0
- package/dist/esm/interfaces/child-command.d.ts +5 -0
- package/dist/esm/interfaces/child-command.js +7 -0
- package/dist/esm/interfaces/child-command.js.map +1 -0
- package/dist/esm/interfaces/child-message.d.ts +6 -0
- package/dist/esm/interfaces/child-message.js +2 -0
- package/dist/esm/interfaces/child-message.js.map +1 -0
- package/dist/esm/interfaces/connection.d.ts +8 -0
- package/dist/esm/interfaces/connection.js +2 -0
- package/dist/esm/interfaces/connection.js.map +1 -0
- package/dist/esm/interfaces/flow-job.d.ts +19 -0
- package/dist/esm/interfaces/flow-job.js +2 -0
- package/dist/esm/interfaces/flow-job.js.map +1 -0
- package/dist/esm/interfaces/index.d.ts +24 -0
- package/dist/esm/interfaces/index.js +25 -0
- package/dist/esm/interfaces/index.js.map +1 -0
- package/dist/esm/interfaces/ioredis-events.d.ts +8 -0
- package/dist/esm/interfaces/ioredis-events.js +2 -0
- package/dist/esm/interfaces/ioredis-events.js.map +1 -0
- package/dist/esm/interfaces/job-json.d.ts +37 -0
- package/dist/esm/interfaces/job-json.js +2 -0
- package/dist/esm/interfaces/job-json.js.map +1 -0
- package/dist/esm/interfaces/keep-jobs.d.ts +17 -0
- package/dist/esm/interfaces/keep-jobs.js +2 -0
- package/dist/esm/interfaces/keep-jobs.js.map +1 -0
- package/dist/esm/interfaces/metrics-options.d.ts +12 -0
- package/dist/esm/interfaces/metrics-options.js +2 -0
- package/dist/esm/interfaces/metrics-options.js.map +1 -0
- package/dist/esm/interfaces/metrics.d.ts +9 -0
- package/dist/esm/interfaces/metrics.js +2 -0
- package/dist/esm/interfaces/metrics.js.map +1 -0
- package/dist/esm/interfaces/minimal-job.d.ts +129 -0
- package/dist/esm/interfaces/minimal-job.js +2 -0
- package/dist/esm/interfaces/minimal-job.js.map +1 -0
- package/dist/esm/interfaces/parent-command.d.ts +10 -0
- package/dist/esm/interfaces/parent-command.js +12 -0
- package/dist/esm/interfaces/parent-command.js.map +1 -0
- package/dist/esm/interfaces/parent-message.d.ts +8 -0
- package/dist/esm/interfaces/parent-message.js +2 -0
- package/dist/esm/interfaces/parent-message.js.map +1 -0
- package/dist/esm/interfaces/parent.d.ts +20 -0
- package/dist/esm/interfaces/parent.js +2 -0
- package/dist/esm/interfaces/parent.js.map +1 -0
- package/dist/esm/interfaces/queue-options.d.ts +74 -0
- package/dist/esm/interfaces/queue-options.js +6 -0
- package/dist/esm/interfaces/queue-options.js.map +1 -0
- package/dist/esm/interfaces/rate-limiter-options.d.ts +12 -0
- package/dist/esm/interfaces/rate-limiter-options.js +2 -0
- package/dist/esm/interfaces/rate-limiter-options.js.map +1 -0
- package/dist/esm/interfaces/redis-options.d.ts +7 -0
- package/dist/esm/interfaces/redis-options.js +2 -0
- package/dist/esm/interfaces/redis-options.js.map +1 -0
- package/dist/esm/interfaces/redis-streams.d.ts +4 -0
- package/dist/esm/interfaces/redis-streams.js +2 -0
- package/dist/esm/interfaces/redis-streams.js.map +1 -0
- package/dist/esm/interfaces/repeat-options.d.ts +33 -0
- package/dist/esm/interfaces/repeat-options.js +2 -0
- package/dist/esm/interfaces/repeat-options.js.map +1 -0
- package/dist/esm/interfaces/sandboxed-job-processor.d.ts +5 -0
- package/dist/esm/interfaces/sandboxed-job-processor.js +2 -0
- package/dist/esm/interfaces/sandboxed-job-processor.js.map +1 -0
- package/dist/esm/interfaces/sandboxed-job.d.ts +13 -0
- package/dist/esm/interfaces/sandboxed-job.js +2 -0
- package/dist/esm/interfaces/sandboxed-job.js.map +1 -0
- package/dist/esm/interfaces/worker-options.d.ts +123 -0
- package/dist/esm/interfaces/worker-options.js +2 -0
- package/dist/esm/interfaces/worker-options.js.map +1 -0
- package/dist/esm/scripts/addJob-9.d.ts +5 -0
- package/dist/esm/scripts/addJob-9.js +249 -0
- package/dist/esm/scripts/addJob-9.js.map +1 -0
- package/dist/esm/scripts/changeDelay-3.d.ts +5 -0
- package/dist/esm/scripts/changeDelay-3.js +38 -0
- package/dist/esm/scripts/changeDelay-3.js.map +1 -0
- package/dist/esm/scripts/changePriority-5.d.ts +5 -0
- package/dist/esm/scripts/changePriority-5.js +84 -0
- package/dist/esm/scripts/changePriority-5.js.map +1 -0
- package/dist/esm/scripts/cleanJobsInSet-2.d.ts +5 -0
- package/dist/esm/scripts/cleanJobsInSet-2.js +256 -0
- package/dist/esm/scripts/cleanJobsInSet-2.js.map +1 -0
- package/dist/esm/scripts/drain-4.d.ts +5 -0
- package/dist/esm/scripts/drain-4.js +175 -0
- package/dist/esm/scripts/drain-4.js.map +1 -0
- package/dist/esm/scripts/extendLock-2.d.ts +5 -0
- package/dist/esm/scripts/extendLock-2.js +27 -0
- package/dist/esm/scripts/extendLock-2.js.map +1 -0
- package/dist/esm/scripts/getCounts-1.d.ts +5 -0
- package/dist/esm/scripts/getCounts-1.js +38 -0
- package/dist/esm/scripts/getCounts-1.js.map +1 -0
- package/dist/esm/scripts/getRanges-1.d.ts +5 -0
- package/dist/esm/scripts/getRanges-1.js +69 -0
- package/dist/esm/scripts/getRanges-1.js.map +1 -0
- package/dist/esm/scripts/getState-8.d.ts +5 -0
- package/dist/esm/scripts/getState-8.js +71 -0
- package/dist/esm/scripts/getState-8.js.map +1 -0
- package/dist/esm/scripts/getStateV2-8.d.ts +5 -0
- package/dist/esm/scripts/getStateV2-8.js +55 -0
- package/dist/esm/scripts/getStateV2-8.js.map +1 -0
- package/dist/esm/scripts/index.d.ts +30 -0
- package/dist/esm/scripts/index.js +31 -0
- package/dist/esm/scripts/index.js.map +1 -0
- package/dist/esm/scripts/isFinished-3.d.ts +5 -0
- package/dist/esm/scripts/isFinished-3.js +46 -0
- package/dist/esm/scripts/isFinished-3.js.map +1 -0
- package/dist/esm/scripts/isJobInList-1.d.ts +5 -0
- package/dist/esm/scripts/isJobInList-1.js +29 -0
- package/dist/esm/scripts/isJobInList-1.js.map +1 -0
- package/dist/esm/scripts/moveJobFromActiveToWait-9.d.ts +5 -0
- package/dist/esm/scripts/moveJobFromActiveToWait-9.js +67 -0
- package/dist/esm/scripts/moveJobFromActiveToWait-9.js.map +1 -0
- package/dist/esm/scripts/moveStalledJobsToWait-8.d.ts +5 -0
- package/dist/esm/scripts/moveStalledJobsToWait-8.js +286 -0
- package/dist/esm/scripts/moveStalledJobsToWait-8.js.map +1 -0
- package/dist/esm/scripts/moveToActive-10.d.ts +5 -0
- package/dist/esm/scripts/moveToActive-10.js +266 -0
- package/dist/esm/scripts/moveToActive-10.js.map +1 -0
- package/dist/esm/scripts/moveToDelayed-8.d.ts +5 -0
- package/dist/esm/scripts/moveToDelayed-8.js +149 -0
- package/dist/esm/scripts/moveToDelayed-8.js.map +1 -0
- package/dist/esm/scripts/moveToFinished-13.d.ts +5 -0
- package/dist/esm/scripts/moveToFinished-13.js +621 -0
- package/dist/esm/scripts/moveToFinished-13.js.map +1 -0
- package/dist/esm/scripts/moveToWaitingChildren-4.d.ts +5 -0
- package/dist/esm/scripts/moveToWaitingChildren-4.js +56 -0
- package/dist/esm/scripts/moveToWaitingChildren-4.js.map +1 -0
- package/dist/esm/scripts/obliterate-2.d.ts +5 -0
- package/dist/esm/scripts/obliterate-2.js +241 -0
- package/dist/esm/scripts/obliterate-2.js.map +1 -0
- package/dist/esm/scripts/pause-5.d.ts +5 -0
- package/dist/esm/scripts/pause-5.js +45 -0
- package/dist/esm/scripts/pause-5.js.map +1 -0
- package/dist/esm/scripts/promote-7.d.ts +5 -0
- package/dist/esm/scripts/promote-7.js +84 -0
- package/dist/esm/scripts/promote-7.js.map +1 -0
- package/dist/esm/scripts/releaseLock-1.d.ts +5 -0
- package/dist/esm/scripts/releaseLock-1.js +22 -0
- package/dist/esm/scripts/releaseLock-1.js.map +1 -0
- package/dist/esm/scripts/removeJob-1.d.ts +5 -0
- package/dist/esm/scripts/removeJob-1.js +207 -0
- package/dist/esm/scripts/removeJob-1.js.map +1 -0
- package/dist/esm/scripts/removeRepeatable-2.d.ts +5 -0
- package/dist/esm/scripts/removeRepeatable-2.js +35 -0
- package/dist/esm/scripts/removeRepeatable-2.js.map +1 -0
- package/dist/esm/scripts/reprocessJob-6.d.ts +5 -0
- package/dist/esm/scripts/reprocessJob-6.js +53 -0
- package/dist/esm/scripts/reprocessJob-6.js.map +1 -0
- package/dist/esm/scripts/retryJob-9.d.ts +5 -0
- package/dist/esm/scripts/retryJob-9.js +125 -0
- package/dist/esm/scripts/retryJob-9.js.map +1 -0
- package/dist/esm/scripts/retryJobs-6.d.ts +5 -0
- package/dist/esm/scripts/retryJobs-6.js +73 -0
- package/dist/esm/scripts/retryJobs-6.js.map +1 -0
- package/dist/esm/scripts/saveStacktrace-1.d.ts +5 -0
- package/dist/esm/scripts/saveStacktrace-1.js +24 -0
- package/dist/esm/scripts/saveStacktrace-1.js.map +1 -0
- package/dist/esm/scripts/updateData-1.d.ts +5 -0
- package/dist/esm/scripts/updateData-1.js +23 -0
- package/dist/esm/scripts/updateData-1.js.map +1 -0
- package/dist/esm/scripts/updateProgress-2.d.ts +5 -0
- package/dist/esm/scripts/updateProgress-2.js +28 -0
- package/dist/esm/scripts/updateProgress-2.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/types/backoff-strategy.d.ts +2 -0
- package/dist/esm/types/backoff-strategy.js +2 -0
- package/dist/esm/types/backoff-strategy.js.map +1 -0
- package/dist/esm/types/finished-status.d.ts +2 -0
- package/dist/esm/types/finished-status.js +2 -0
- package/dist/esm/types/finished-status.js.map +1 -0
- package/dist/esm/types/index.d.ts +7 -0
- package/dist/esm/types/index.js +8 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/job-json-sandbox.d.ts +5 -0
- package/dist/esm/types/job-json-sandbox.js +2 -0
- package/dist/esm/types/job-json-sandbox.js.map +1 -0
- package/dist/esm/types/job-options.d.ts +20 -0
- package/dist/esm/types/job-options.js +2 -0
- package/dist/esm/types/job-options.js.map +1 -0
- package/dist/esm/types/job-type.d.ts +3 -0
- package/dist/esm/types/job-type.js +2 -0
- package/dist/esm/types/job-type.js.map +1 -0
- package/dist/esm/types/minimal-queue.d.ts +2 -0
- package/dist/esm/types/minimal-queue.js +2 -0
- package/dist/esm/types/minimal-queue.js.map +1 -0
- package/dist/esm/types/repeat-strategy.d.ts +2 -0
- package/dist/esm/types/repeat-strategy.js +2 -0
- package/dist/esm/types/repeat-strategy.js.map +1 -0
- package/dist/esm/utils.d.ts +42 -0
- package/dist/esm/utils.js +134 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +181 -60
- package/.travis.yml +0 -32
- package/SUMMARY.md +0 -4
- package/commitlint.config.js +0 -1
- package/dist/classes/backoffs.d.ts +0 -14
- package/dist/classes/backoffs.js.map +0 -1
- package/dist/classes/child-pool.d.ts +0 -22
- package/dist/classes/child-pool.js +0 -98
- package/dist/classes/child-pool.js.map +0 -1
- package/dist/classes/compat.d.ts +0 -316
- package/dist/classes/compat.js +0 -667
- package/dist/classes/compat.js.map +0 -1
- package/dist/classes/index.js.map +0 -1
- package/dist/classes/job.d.ts +0 -93
- package/dist/classes/job.js +0 -351
- package/dist/classes/job.js.map +0 -1
- package/dist/classes/master.js +0 -112
- package/dist/classes/master.js.map +0 -1
- package/dist/classes/queue-base.d.ts +0 -23
- package/dist/classes/queue-base.js +0 -68
- package/dist/classes/queue-base.js.map +0 -1
- package/dist/classes/queue-events.d.ts +0 -8
- package/dist/classes/queue-events.js +0 -59
- package/dist/classes/queue-events.js.map +0 -1
- package/dist/classes/queue-getters.d.ts +0 -38
- package/dist/classes/queue-getters.js +0 -182
- package/dist/classes/queue-getters.js.map +0 -1
- package/dist/classes/queue-keeper.js +0 -103
- package/dist/classes/queue-keeper.js.map +0 -1
- package/dist/classes/queue-scheduler.d.ts +0 -25
- package/dist/classes/queue-scheduler.js +0 -96
- package/dist/classes/queue-scheduler.js.map +0 -1
- package/dist/classes/queue.d.ts +0 -46
- package/dist/classes/queue.js +0 -122
- package/dist/classes/queue.js.map +0 -1
- package/dist/classes/redis-connection.d.ts +0 -17
- package/dist/classes/redis-connection.js +0 -97
- package/dist/classes/redis-connection.js.map +0 -1
- package/dist/classes/repeat.d.ts +0 -26
- package/dist/classes/repeat.js +0 -128
- package/dist/classes/repeat.js.map +0 -1
- package/dist/classes/sandbox.d.ts +0 -2
- package/dist/classes/sandbox.js.map +0 -1
- package/dist/classes/scripts.d.ts +0 -43
- package/dist/classes/scripts.js +0 -296
- package/dist/classes/scripts.js.map +0 -1
- package/dist/classes/worker.d.ts +0 -38
- package/dist/classes/worker.js +0 -231
- package/dist/classes/worker.js.map +0 -1
- package/dist/commands/addJob-8.lua +0 -106
- package/dist/commands/cleanJobsInSet-1.lua +0 -48
- package/dist/commands/index.d.ts +0 -2
- package/dist/commands/index.js +0 -42
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/isFinished-2.lua +0 -22
- package/dist/commands/isJobInList-1.lua +0 -20
- package/dist/commands/moveStalledJobsToWait-8.lua +0 -91
- package/dist/commands/moveToActive-8.lua +0 -79
- package/dist/commands/moveToDelayed-5.lua +0 -39
- package/dist/commands/moveToFinished-6.lua +0 -87
- package/dist/commands/moveToFinished-7.lua +0 -92
- package/dist/commands/pause-4.lua +0 -27
- package/dist/commands/promote-4.lua +0 -49
- package/dist/commands/releaseLock-1.lua +0 -19
- package/dist/commands/removeJob-10.lua +0 -37
- package/dist/commands/reprocessJob-4.lua +0 -36
- package/dist/commands/retryJob-4.lua +0 -34
- package/dist/commands/takeLock-1.lua +0 -17
- package/dist/commands/updateDelaySet-7.lua +0 -71
- package/dist/commands/updateProgress-2.lua +0 -15
- package/dist/enums/index.d.ts +0 -1
- package/dist/enums/index.js +0 -5
- package/dist/enums/index.js.map +0 -1
- package/dist/enums/retry-errors.enum.d.ts +0 -5
- package/dist/enums/retry-errors.enum.js +0 -9
- package/dist/enums/retry-errors.enum.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interfaces/advance-opts.js +0 -12
- package/dist/interfaces/advance-opts.js.map +0 -1
- package/dist/interfaces/advanced-options.d.ts +0 -9
- package/dist/interfaces/advanced-options.js +0 -11
- package/dist/interfaces/advanced-options.js.map +0 -1
- package/dist/interfaces/advanced-opts.js +0 -11
- package/dist/interfaces/advanced-opts.js.map +0 -1
- package/dist/interfaces/backoff-options.d.ts +0 -4
- package/dist/interfaces/backoff-options.js.map +0 -1
- package/dist/interfaces/backoff-opts.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -9
- package/dist/interfaces/index.js +0 -6
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interfaces/jobs-options.d.ts +0 -16
- package/dist/interfaces/jobs-options.js.map +0 -1
- package/dist/interfaces/jobs-opts.js.map +0 -1
- package/dist/interfaces/queue-keeper-opts.js +0 -3
- package/dist/interfaces/queue-keeper-opts.js.map +0 -1
- package/dist/interfaces/queue-options.d.ts +0 -24
- package/dist/interfaces/queue-options.js.map +0 -1
- package/dist/interfaces/queue-opts.js +0 -8
- package/dist/interfaces/queue-opts.js.map +0 -1
- package/dist/interfaces/queue-scheduler-options.d.ts +0 -5
- package/dist/interfaces/queue-scheduler-options.js +0 -3
- package/dist/interfaces/queue-scheduler-options.js.map +0 -1
- package/dist/interfaces/queue-scheduler-opts.js +0 -3
- package/dist/interfaces/queue-scheduler-opts.js.map +0 -1
- package/dist/interfaces/rate-limiter-options.d.ts +0 -4
- package/dist/interfaces/rate-limiter-options.js.map +0 -1
- package/dist/interfaces/rate-limiter-opts.js +0 -3
- package/dist/interfaces/rate-limiter-opts.js.map +0 -1
- package/dist/interfaces/redis-options.d.ts +0 -7
- package/dist/interfaces/redis-options.js.map +0 -1
- package/dist/interfaces/redis-opts.js.map +0 -1
- package/dist/interfaces/repeat-options.d.ts +0 -11
- package/dist/interfaces/repeat-options.js.map +0 -1
- package/dist/interfaces/repeat-opts.js.map +0 -1
- package/dist/interfaces/worker-options.d.ts +0 -11
- package/dist/interfaces/worker-options.js.map +0 -1
- package/dist/interfaces/worker-opts.js.map +0 -1
- package/dist/test/test_bulk.js +0 -55
- package/dist/test/test_bulk.js.map +0 -1
- package/dist/test/test_child-pool.js +0 -81
- package/dist/test/test_child-pool.js.map +0 -1
- package/dist/test/test_clean.js +0 -124
- package/dist/test/test_clean.js.map +0 -1
- package/dist/test/test_compat.d.ts +0 -1
- package/dist/test/test_compat.js +0 -533
- package/dist/test/test_compat.js.map +0 -1
- package/dist/test/test_connection.d.ts +0 -1
- package/dist/test/test_connection.js +0 -140
- package/dist/test/test_connection.js.map +0 -1
- package/dist/test/test_delay.d.ts +0 -1
- package/dist/test/test_delay.js +0 -186
- package/dist/test/test_delay.js.map +0 -1
- package/dist/test/test_events.d.ts +0 -1
- package/dist/test/test_events.js +0 -147
- package/dist/test/test_events.js.map +0 -1
- package/dist/test/test_getters.d.ts +0 -1
- package/dist/test/test_getters.js +0 -293
- package/dist/test/test_getters.js.map +0 -1
- package/dist/test/test_job.d.ts +0 -1
- package/dist/test/test_job.js +0 -419
- package/dist/test/test_job.js.map +0 -1
- package/dist/test/test_pause.d.ts +0 -1
- package/dist/test/test_pause.js +0 -255
- package/dist/test/test_pause.js.map +0 -1
- package/dist/test/test_queue.d.ts +0 -0
- package/dist/test/test_queue.js +0 -72
- package/dist/test/test_queue.js.map +0 -1
- package/dist/test/test_rate_limiter.d.ts +0 -1
- package/dist/test/test_rate_limiter.js +0 -98
- package/dist/test/test_rate_limiter.js.map +0 -1
- package/dist/test/test_repeat.d.ts +0 -1
- package/dist/test/test_repeat.js +0 -602
- package/dist/test/test_repeat.js.map +0 -1
- package/dist/test/test_sandboxed_process.d.ts +0 -1
- package/dist/test/test_sandboxed_process.js +0 -319
- package/dist/test/test_sandboxed_process.js.map +0 -1
- package/dist/test/test_stalled_jobs.d.ts +0 -1
- package/dist/test/test_stalled_jobs.js +0 -107
- package/dist/test/test_stalled_jobs.js.map +0 -1
- package/dist/test/test_worker.d.ts +0 -1
- package/dist/test/test_worker.js +0 -1182
- package/dist/test/test_worker.js.map +0 -1
- package/dist/utils.d.ts +0 -8
- package/dist/utils.js +0 -31
- package/dist/utils.js.map +0 -1
- package/release.txt +0 -21
- package/src/classes/backoffs.ts +0 -67
- package/src/classes/child-pool.ts +0 -119
- package/src/classes/compat.ts +0 -890
- package/src/classes/index.ts +0 -13
- package/src/classes/job.ts +0 -495
- package/src/classes/master.ts +0 -113
- package/src/classes/queue-base.ts +0 -87
- package/src/classes/queue-events.ts +0 -78
- package/src/classes/queue-getters.ts +0 -213
- package/src/classes/queue-scheduler.ts +0 -125
- package/src/classes/queue.ts +0 -180
- package/src/classes/redis-connection.ts +0 -111
- package/src/classes/repeat.ts +0 -217
- package/src/classes/sandbox.ts +0 -60
- package/src/classes/scripts.ts +0 -468
- package/src/classes/worker.ts +0 -288
- package/src/commands/addJob-8.lua +0 -106
- package/src/commands/cleanJobsInSet-1.lua +0 -48
- package/src/commands/index.ts +0 -62
- package/src/commands/isFinished-2.lua +0 -22
- package/src/commands/isJobInList-1.lua +0 -20
- package/src/commands/moveStalledJobsToWait-8.lua +0 -91
- package/src/commands/moveToActive-8.lua +0 -79
- package/src/commands/moveToDelayed-5.lua +0 -39
- package/src/commands/moveToFinished-7.lua +0 -92
- package/src/commands/pause-4.lua +0 -27
- package/src/commands/promote-4.lua +0 -49
- package/src/commands/releaseLock-1.lua +0 -19
- package/src/commands/removeJob-10.lua +0 -37
- package/src/commands/reprocessJob-4.lua +0 -36
- package/src/commands/retryJob-4.lua +0 -34
- package/src/commands/takeLock-1.lua +0 -17
- package/src/commands/updateDelaySet-7.lua +0 -71
- package/src/commands/updateProgress-2.lua +0 -15
- package/src/enums/index.ts +0 -1
- package/src/enums/retry-errors.enum.ts +0 -5
- package/src/interfaces/advanced-options.ts +0 -28
- package/src/interfaces/backoff-options.ts +0 -4
- package/src/interfaces/index.ts +0 -9
- package/src/interfaces/jobs-options.ts +0 -53
- package/src/interfaces/queue-options.ts +0 -30
- package/src/interfaces/queue-scheduler-options.ts +0 -6
- package/src/interfaces/rate-limiter-options.ts +0 -7
- package/src/interfaces/redis-options.ts +0 -9
- package/src/interfaces/repeat-options.ts +0 -19
- package/src/interfaces/worker-options.ts +0 -13
- package/src/test/fixtures/fixture_processor.js +0 -13
- package/src/test/fixtures/fixture_processor_bar.js +0 -13
- package/src/test/fixtures/fixture_processor_crash.js +0 -16
- package/src/test/fixtures/fixture_processor_exit.js +0 -15
- package/src/test/fixtures/fixture_processor_fail.js +0 -13
- package/src/test/fixtures/fixture_processor_foo.js +0 -13
- package/src/test/fixtures/fixture_processor_progress.js +0 -29
- package/src/test/fixtures/fixture_processor_slow.js +0 -13
- package/src/test/test_bulk.ts +0 -59
- package/src/test/test_child-pool.ts +0 -88
- package/src/test/test_clean.ts +0 -148
- package/src/test/test_compat.ts +0 -640
- package/src/test/test_connection.ts +0 -159
- package/src/test/test_delay.ts +0 -220
- package/src/test/test_events.ts +0 -198
- package/src/test/test_getters.ts +0 -348
- package/src/test/test_job.ts +0 -524
- package/src/test/test_pause.ts +0 -313
- package/src/test/test_queue.ts +0 -70
- package/src/test/test_rate_limiter.ts +0 -113
- package/src/test/test_repeat.ts +0 -783
- package/src/test/test_sandboxed_process.ts +0 -380
- package/src/test/test_stalled_jobs.ts +0 -146
- package/src/test/test_worker.ts +0 -1503
- package/src/utils.ts +0 -28
- package/tsconfig.json +0 -25
- package/tslint.json +0 -23
- /package/dist/{classes/master.d.ts → cjs/classes/main-worker.d.ts} +0 -0
- /package/dist/{test/test_bulk.d.ts → cjs/classes/main.d.ts} +0 -0
- /package/dist/{interfaces → cjs/interfaces}/backoff-options.js +0 -0
- /package/dist/{interfaces → cjs/interfaces}/rate-limiter-options.js +0 -0
- /package/dist/{interfaces → cjs/interfaces}/redis-options.js +0 -0
- /package/dist/{interfaces → cjs/interfaces}/repeat-options.js +0 -0
- /package/dist/{interfaces → cjs/interfaces}/worker-options.js +0 -0
- /package/dist/{test/test_child-pool.d.ts → esm/classes/main-worker.d.ts} +0 -0
- /package/dist/{test/test_clean.d.ts → esm/classes/main.d.ts} +0 -0
@@ -0,0 +1,236 @@
|
|
1
|
+
import { BaseJobOptions, BulkJobOptions, IoredisListener, QueueOptions, RepeatOptions } from '../interfaces';
|
2
|
+
import { FinishedStatus, JobsOptions } from '../types';
|
3
|
+
import { Job } from './job';
|
4
|
+
import { QueueGetters } from './queue-getters';
|
5
|
+
import { Repeat } from './repeat';
|
6
|
+
import { RedisConnection } from './redis-connection';
|
7
|
+
export interface ObliterateOpts {
|
8
|
+
/**
|
9
|
+
* Use force = true to force obliteration even with active jobs in the queue
|
10
|
+
* @defaultValue false
|
11
|
+
*/
|
12
|
+
force?: boolean;
|
13
|
+
/**
|
14
|
+
* Use count with the maximum number of deleted keys per iteration
|
15
|
+
* @defaultValue 1000
|
16
|
+
*/
|
17
|
+
count?: number;
|
18
|
+
}
|
19
|
+
export interface QueueListener<DataType, ResultType, NameType extends string> extends IoredisListener {
|
20
|
+
/**
|
21
|
+
* Listen to 'cleaned' event.
|
22
|
+
*
|
23
|
+
* This event is triggered when the queue calls clean method.
|
24
|
+
*/
|
25
|
+
cleaned: (jobs: string[], type: string) => void;
|
26
|
+
/**
|
27
|
+
* Listen to 'error' event.
|
28
|
+
*
|
29
|
+
* This event is triggered when an error is thrown.
|
30
|
+
*/
|
31
|
+
error: (err: Error) => void;
|
32
|
+
/**
|
33
|
+
* Listen to 'paused' event.
|
34
|
+
*
|
35
|
+
* This event is triggered when the queue is paused.
|
36
|
+
*/
|
37
|
+
paused: () => void;
|
38
|
+
/**
|
39
|
+
* Listen to 'progress' event.
|
40
|
+
*
|
41
|
+
* This event is triggered when the job updates its progress.
|
42
|
+
*/
|
43
|
+
progress: (job: Job<DataType, ResultType, NameType>, progress: number | object) => void;
|
44
|
+
/**
|
45
|
+
* Listen to 'removed' event.
|
46
|
+
*
|
47
|
+
* This event is triggered when a job is removed.
|
48
|
+
*/
|
49
|
+
removed: (job: Job<DataType, ResultType, NameType>) => void;
|
50
|
+
/**
|
51
|
+
* Listen to 'resumed' event.
|
52
|
+
*
|
53
|
+
* This event is triggered when the queue is resumed.
|
54
|
+
*/
|
55
|
+
resumed: () => void;
|
56
|
+
/**
|
57
|
+
* Listen to 'waiting' event.
|
58
|
+
*
|
59
|
+
* This event is triggered when the queue creates a new job.
|
60
|
+
*/
|
61
|
+
waiting: (job: Job<DataType, ResultType, NameType>) => void;
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
* Queue
|
65
|
+
*
|
66
|
+
* This class provides methods to add jobs to a queue and some othe high-level
|
67
|
+
* administration such as pausing or deleting queues.
|
68
|
+
*
|
69
|
+
*/
|
70
|
+
export declare class Queue<DataType = any, ResultType = any, NameType extends string = string> extends QueueGetters<DataType, ResultType, NameType> {
|
71
|
+
token: string;
|
72
|
+
jobsOpts: BaseJobOptions;
|
73
|
+
private _repeat?;
|
74
|
+
constructor(name: string, opts?: QueueOptions, Connection?: typeof RedisConnection);
|
75
|
+
emit<U extends keyof QueueListener<DataType, ResultType, NameType>>(event: U, ...args: Parameters<QueueListener<DataType, ResultType, NameType>[U]>): boolean;
|
76
|
+
off<U extends keyof QueueListener<DataType, ResultType, NameType>>(eventName: U, listener: QueueListener<DataType, ResultType, NameType>[U]): this;
|
77
|
+
on<U extends keyof QueueListener<DataType, ResultType, NameType>>(event: U, listener: QueueListener<DataType, ResultType, NameType>[U]): this;
|
78
|
+
once<U extends keyof QueueListener<DataType, ResultType, NameType>>(event: U, listener: QueueListener<DataType, ResultType, NameType>[U]): this;
|
79
|
+
/**
|
80
|
+
* Returns this instance current default job options.
|
81
|
+
*/
|
82
|
+
get defaultJobOptions(): JobsOptions;
|
83
|
+
get repeat(): Promise<Repeat>;
|
84
|
+
/**
|
85
|
+
* Adds a new job to the queue.
|
86
|
+
*
|
87
|
+
* @param name - Name of the job to be added to the queue,.
|
88
|
+
* @param data - Arbitrary data to append to the job.
|
89
|
+
* @param opts - Job options that affects how the job is going to be processed.
|
90
|
+
*/
|
91
|
+
add(name: NameType, data: DataType, opts?: JobsOptions): Promise<Job<DataType, ResultType, NameType>>;
|
92
|
+
/**
|
93
|
+
* Adds an array of jobs to the queue. This method may be faster than adding
|
94
|
+
* one job at a time in a sequence.
|
95
|
+
*
|
96
|
+
* @param jobs - The array of jobs to add to the queue. Each job is defined by 3
|
97
|
+
* properties, 'name', 'data' and 'opts'. They follow the same signature as 'Queue.add'.
|
98
|
+
*/
|
99
|
+
addBulk(jobs: {
|
100
|
+
name: NameType;
|
101
|
+
data: DataType;
|
102
|
+
opts?: BulkJobOptions;
|
103
|
+
}[]): Promise<Job<DataType, ResultType, NameType>[]>;
|
104
|
+
/**
|
105
|
+
* Pauses the processing of this queue globally.
|
106
|
+
*
|
107
|
+
* We use an atomic RENAME operation on the wait queue. Since
|
108
|
+
* we have blocking calls with BRPOPLPUSH on the wait queue, as long as the queue
|
109
|
+
* is renamed to 'paused', no new jobs will be processed (the current ones
|
110
|
+
* will run until finalized).
|
111
|
+
*
|
112
|
+
* Adding jobs requires a LUA script to check first if the paused list exist
|
113
|
+
* and in that case it will add it there instead of the wait list.
|
114
|
+
*/
|
115
|
+
pause(): Promise<void>;
|
116
|
+
/**
|
117
|
+
* Close the queue instance.
|
118
|
+
*
|
119
|
+
*/
|
120
|
+
close(): Promise<void>;
|
121
|
+
/**
|
122
|
+
* Resumes the processing of this queue globally.
|
123
|
+
*
|
124
|
+
* The method reverses the pause operation by resuming the processing of the
|
125
|
+
* queue.
|
126
|
+
*/
|
127
|
+
resume(): Promise<void>;
|
128
|
+
/**
|
129
|
+
* Returns true if the queue is currently paused.
|
130
|
+
*/
|
131
|
+
isPaused(): Promise<boolean>;
|
132
|
+
/**
|
133
|
+
* Get all repeatable meta jobs.
|
134
|
+
*
|
135
|
+
* @param start - Offset of first job to return.
|
136
|
+
* @param end - Offset of last job to return.
|
137
|
+
* @param asc - Determine the order in which jobs are returned based on their
|
138
|
+
* next execution time.
|
139
|
+
*/
|
140
|
+
getRepeatableJobs(start?: number, end?: number, asc?: boolean): Promise<{
|
141
|
+
key: string;
|
142
|
+
name: string;
|
143
|
+
id: string;
|
144
|
+
endDate: number;
|
145
|
+
tz: string;
|
146
|
+
pattern: string;
|
147
|
+
next: number;
|
148
|
+
}[]>;
|
149
|
+
/**
|
150
|
+
* Removes a repeatable job.
|
151
|
+
*
|
152
|
+
* Note: you need to use the exact same repeatOpts when deleting a repeatable job
|
153
|
+
* than when adding it.
|
154
|
+
*
|
155
|
+
* @see removeRepeatableByKey
|
156
|
+
*
|
157
|
+
* @param name -
|
158
|
+
* @param repeatOpts -
|
159
|
+
* @param jobId -
|
160
|
+
* @returns
|
161
|
+
*/
|
162
|
+
removeRepeatable(name: NameType, repeatOpts: RepeatOptions, jobId?: string): Promise<boolean>;
|
163
|
+
/**
|
164
|
+
* Removes a repeatable job by its key. Note that the key is the one used
|
165
|
+
* to store the repeatable job metadata and not one of the job iterations
|
166
|
+
* themselves. You can use "getRepeatableJobs" in order to get the keys.
|
167
|
+
*
|
168
|
+
* @see getRepeatableJobs
|
169
|
+
*
|
170
|
+
* @param key - to the repeatable job.
|
171
|
+
* @returns
|
172
|
+
*/
|
173
|
+
removeRepeatableByKey(key: string): Promise<boolean>;
|
174
|
+
/**
|
175
|
+
* Removes the given job from the queue as well as all its
|
176
|
+
* dependencies.
|
177
|
+
*
|
178
|
+
* @param jobId - The id of the job to remove
|
179
|
+
* @returns 1 if it managed to remove the job or 0 if the job or
|
180
|
+
* any of its dependencies were locked.
|
181
|
+
*/
|
182
|
+
remove(jobId: string): Promise<number>;
|
183
|
+
/**
|
184
|
+
* Drains the queue, i.e., removes all jobs that are waiting
|
185
|
+
* or delayed, but not active, completed or failed.
|
186
|
+
*
|
187
|
+
* @param delayed - Pass true if it should also clean the
|
188
|
+
* delayed jobs.
|
189
|
+
*/
|
190
|
+
drain(delayed?: boolean): Promise<void>;
|
191
|
+
/**
|
192
|
+
* Cleans jobs from a queue. Similar to drain but keeps jobs within a certain
|
193
|
+
* grace period.
|
194
|
+
*
|
195
|
+
* @param grace - The grace period
|
196
|
+
* @param limit - Max number of jobs to clean
|
197
|
+
* @param type - The type of job to clean
|
198
|
+
* Possible values are completed, wait, active, paused, delayed, failed. Defaults to completed.
|
199
|
+
* @returns Id jobs from the deleted records
|
200
|
+
*/
|
201
|
+
clean(grace: number, limit: number, type?: 'completed' | 'wait' | 'active' | 'paused' | 'prioritized' | 'delayed' | 'failed'): Promise<string[]>;
|
202
|
+
/**
|
203
|
+
* Completely destroys the queue and all of its contents irreversibly.
|
204
|
+
* This method will the *pause* the queue and requires that there are no
|
205
|
+
* active jobs. It is possible to bypass this requirement, i.e. not
|
206
|
+
* having active jobs using the "force" option.
|
207
|
+
*
|
208
|
+
* Note: This operation requires to iterate on all the jobs stored in the queue
|
209
|
+
* and can be slow for very large queues.
|
210
|
+
*
|
211
|
+
* @param opts - Obliterate options.
|
212
|
+
*/
|
213
|
+
obliterate(opts?: ObliterateOpts): Promise<void>;
|
214
|
+
/**
|
215
|
+
* Retry all the failed jobs.
|
216
|
+
*
|
217
|
+
* @param opts - contains number to limit how many jobs will be moved to wait status per iteration,
|
218
|
+
* state (failed, completed) failed by default or from which timestamp.
|
219
|
+
* @returns
|
220
|
+
*/
|
221
|
+
retryJobs(opts?: {
|
222
|
+
count?: number;
|
223
|
+
state?: FinishedStatus;
|
224
|
+
timestamp?: number;
|
225
|
+
}): Promise<void>;
|
226
|
+
/**
|
227
|
+
* Trim the event stream to an approximately maxLength.
|
228
|
+
*
|
229
|
+
* @param maxLength -
|
230
|
+
*/
|
231
|
+
trimEvents(maxLength: number): Promise<number>;
|
232
|
+
/**
|
233
|
+
* Delete old priority helper key.
|
234
|
+
*/
|
235
|
+
removeDeprecatedPriorityKey(): Promise<number>;
|
236
|
+
}
|
@@ -0,0 +1,271 @@
|
|
1
|
+
import { get } from 'lodash';
|
2
|
+
import { v4 } from 'uuid';
|
3
|
+
import { isRedisInstance } from '../utils';
|
4
|
+
import { QueueGetters } from './queue-getters';
|
5
|
+
import { Repeat } from './repeat';
|
6
|
+
/**
|
7
|
+
* Queue
|
8
|
+
*
|
9
|
+
* This class provides methods to add jobs to a queue and some othe high-level
|
10
|
+
* administration such as pausing or deleting queues.
|
11
|
+
*
|
12
|
+
*/
|
13
|
+
export class Queue extends QueueGetters {
|
14
|
+
constructor(name, opts, Connection) {
|
15
|
+
var _a;
|
16
|
+
super(name, Object.assign({ sharedConnection: isRedisInstance(opts === null || opts === void 0 ? void 0 : opts.connection), blockingConnection: false }, opts), Connection);
|
17
|
+
this.token = v4();
|
18
|
+
this.jobsOpts = (_a = get(opts, 'defaultJobOptions')) !== null && _a !== void 0 ? _a : {};
|
19
|
+
this.waitUntilReady()
|
20
|
+
.then(client => {
|
21
|
+
if (!this.closing) {
|
22
|
+
client.hset(this.keys.meta, 'opts.maxLenEvents', get(opts, 'streams.events.maxLen', 10000));
|
23
|
+
}
|
24
|
+
})
|
25
|
+
.catch(err => {
|
26
|
+
// We ignore this error to avoid warnings. The error can still
|
27
|
+
// be received by listening to event 'error'
|
28
|
+
});
|
29
|
+
}
|
30
|
+
emit(event, ...args) {
|
31
|
+
return super.emit(event, ...args);
|
32
|
+
}
|
33
|
+
off(eventName, listener) {
|
34
|
+
super.off(eventName, listener);
|
35
|
+
return this;
|
36
|
+
}
|
37
|
+
on(event, listener) {
|
38
|
+
super.on(event, listener);
|
39
|
+
return this;
|
40
|
+
}
|
41
|
+
once(event, listener) {
|
42
|
+
super.once(event, listener);
|
43
|
+
return this;
|
44
|
+
}
|
45
|
+
/**
|
46
|
+
* Returns this instance current default job options.
|
47
|
+
*/
|
48
|
+
get defaultJobOptions() {
|
49
|
+
return Object.assign({}, this.jobsOpts);
|
50
|
+
}
|
51
|
+
get repeat() {
|
52
|
+
return new Promise(async (resolve) => {
|
53
|
+
if (!this._repeat) {
|
54
|
+
this._repeat = new Repeat(this.name, Object.assign(Object.assign({}, this.opts), { connection: await this.client }));
|
55
|
+
this._repeat.on('error', e => this.emit.bind(this, e));
|
56
|
+
}
|
57
|
+
resolve(this._repeat);
|
58
|
+
});
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
* Adds a new job to the queue.
|
62
|
+
*
|
63
|
+
* @param name - Name of the job to be added to the queue,.
|
64
|
+
* @param data - Arbitrary data to append to the job.
|
65
|
+
* @param opts - Job options that affects how the job is going to be processed.
|
66
|
+
*/
|
67
|
+
async add(name, data, opts) {
|
68
|
+
if (opts && opts.repeat) {
|
69
|
+
return (await this.repeat).addNextRepeatableJob(name, data, Object.assign(Object.assign({}, this.jobsOpts), opts), true);
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
const jobId = opts === null || opts === void 0 ? void 0 : opts.jobId;
|
73
|
+
if (jobId == '0' || (jobId === null || jobId === void 0 ? void 0 : jobId.startsWith('0:'))) {
|
74
|
+
throw new Error("JobId cannot be '0' or start with 0:");
|
75
|
+
}
|
76
|
+
const job = await this.Job.create(this, name, data, Object.assign(Object.assign(Object.assign({}, this.jobsOpts), opts), { jobId }));
|
77
|
+
this.emit('waiting', job);
|
78
|
+
return job;
|
79
|
+
}
|
80
|
+
}
|
81
|
+
/**
|
82
|
+
* Adds an array of jobs to the queue. This method may be faster than adding
|
83
|
+
* one job at a time in a sequence.
|
84
|
+
*
|
85
|
+
* @param jobs - The array of jobs to add to the queue. Each job is defined by 3
|
86
|
+
* properties, 'name', 'data' and 'opts'. They follow the same signature as 'Queue.add'.
|
87
|
+
*/
|
88
|
+
addBulk(jobs) {
|
89
|
+
return this.Job.createBulk(this, jobs.map(job => {
|
90
|
+
var _a;
|
91
|
+
return ({
|
92
|
+
name: job.name,
|
93
|
+
data: job.data,
|
94
|
+
opts: Object.assign(Object.assign(Object.assign({}, this.jobsOpts), job.opts), { jobId: (_a = job.opts) === null || _a === void 0 ? void 0 : _a.jobId }),
|
95
|
+
});
|
96
|
+
}));
|
97
|
+
}
|
98
|
+
/**
|
99
|
+
* Pauses the processing of this queue globally.
|
100
|
+
*
|
101
|
+
* We use an atomic RENAME operation on the wait queue. Since
|
102
|
+
* we have blocking calls with BRPOPLPUSH on the wait queue, as long as the queue
|
103
|
+
* is renamed to 'paused', no new jobs will be processed (the current ones
|
104
|
+
* will run until finalized).
|
105
|
+
*
|
106
|
+
* Adding jobs requires a LUA script to check first if the paused list exist
|
107
|
+
* and in that case it will add it there instead of the wait list.
|
108
|
+
*/
|
109
|
+
async pause() {
|
110
|
+
await this.scripts.pause(true);
|
111
|
+
this.emit('paused');
|
112
|
+
}
|
113
|
+
/**
|
114
|
+
* Close the queue instance.
|
115
|
+
*
|
116
|
+
*/
|
117
|
+
async close() {
|
118
|
+
if (!this.closing) {
|
119
|
+
if (this._repeat) {
|
120
|
+
await this._repeat.close();
|
121
|
+
}
|
122
|
+
}
|
123
|
+
return super.close();
|
124
|
+
}
|
125
|
+
/**
|
126
|
+
* Resumes the processing of this queue globally.
|
127
|
+
*
|
128
|
+
* The method reverses the pause operation by resuming the processing of the
|
129
|
+
* queue.
|
130
|
+
*/
|
131
|
+
async resume() {
|
132
|
+
await this.scripts.pause(false);
|
133
|
+
this.emit('resumed');
|
134
|
+
}
|
135
|
+
/**
|
136
|
+
* Returns true if the queue is currently paused.
|
137
|
+
*/
|
138
|
+
async isPaused() {
|
139
|
+
const client = await this.client;
|
140
|
+
const pausedKeyExists = await client.hexists(this.keys.meta, 'paused');
|
141
|
+
return pausedKeyExists === 1;
|
142
|
+
}
|
143
|
+
/**
|
144
|
+
* Get all repeatable meta jobs.
|
145
|
+
*
|
146
|
+
* @param start - Offset of first job to return.
|
147
|
+
* @param end - Offset of last job to return.
|
148
|
+
* @param asc - Determine the order in which jobs are returned based on their
|
149
|
+
* next execution time.
|
150
|
+
*/
|
151
|
+
async getRepeatableJobs(start, end, asc) {
|
152
|
+
return (await this.repeat).getRepeatableJobs(start, end, asc);
|
153
|
+
}
|
154
|
+
/**
|
155
|
+
* Removes a repeatable job.
|
156
|
+
*
|
157
|
+
* Note: you need to use the exact same repeatOpts when deleting a repeatable job
|
158
|
+
* than when adding it.
|
159
|
+
*
|
160
|
+
* @see removeRepeatableByKey
|
161
|
+
*
|
162
|
+
* @param name -
|
163
|
+
* @param repeatOpts -
|
164
|
+
* @param jobId -
|
165
|
+
* @returns
|
166
|
+
*/
|
167
|
+
async removeRepeatable(name, repeatOpts, jobId) {
|
168
|
+
const repeat = await this.repeat;
|
169
|
+
const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
|
170
|
+
return !removed;
|
171
|
+
}
|
172
|
+
/**
|
173
|
+
* Removes a repeatable job by its key. Note that the key is the one used
|
174
|
+
* to store the repeatable job metadata and not one of the job iterations
|
175
|
+
* themselves. You can use "getRepeatableJobs" in order to get the keys.
|
176
|
+
*
|
177
|
+
* @see getRepeatableJobs
|
178
|
+
*
|
179
|
+
* @param key - to the repeatable job.
|
180
|
+
* @returns
|
181
|
+
*/
|
182
|
+
async removeRepeatableByKey(key) {
|
183
|
+
const repeat = await this.repeat;
|
184
|
+
const removed = await repeat.removeRepeatableByKey(key);
|
185
|
+
return !removed;
|
186
|
+
}
|
187
|
+
/**
|
188
|
+
* Removes the given job from the queue as well as all its
|
189
|
+
* dependencies.
|
190
|
+
*
|
191
|
+
* @param jobId - The id of the job to remove
|
192
|
+
* @returns 1 if it managed to remove the job or 0 if the job or
|
193
|
+
* any of its dependencies were locked.
|
194
|
+
*/
|
195
|
+
remove(jobId) {
|
196
|
+
return this.scripts.remove(jobId);
|
197
|
+
}
|
198
|
+
/**
|
199
|
+
* Drains the queue, i.e., removes all jobs that are waiting
|
200
|
+
* or delayed, but not active, completed or failed.
|
201
|
+
*
|
202
|
+
* @param delayed - Pass true if it should also clean the
|
203
|
+
* delayed jobs.
|
204
|
+
*/
|
205
|
+
drain(delayed = false) {
|
206
|
+
return this.scripts.drain(delayed);
|
207
|
+
}
|
208
|
+
/**
|
209
|
+
* Cleans jobs from a queue. Similar to drain but keeps jobs within a certain
|
210
|
+
* grace period.
|
211
|
+
*
|
212
|
+
* @param grace - The grace period
|
213
|
+
* @param limit - Max number of jobs to clean
|
214
|
+
* @param type - The type of job to clean
|
215
|
+
* Possible values are completed, wait, active, paused, delayed, failed. Defaults to completed.
|
216
|
+
* @returns Id jobs from the deleted records
|
217
|
+
*/
|
218
|
+
async clean(grace, limit, type = 'completed') {
|
219
|
+
const jobs = await this.scripts.cleanJobsInSet(type, Date.now() - grace, limit);
|
220
|
+
this.emit('cleaned', jobs, type);
|
221
|
+
return jobs;
|
222
|
+
}
|
223
|
+
/**
|
224
|
+
* Completely destroys the queue and all of its contents irreversibly.
|
225
|
+
* This method will the *pause* the queue and requires that there are no
|
226
|
+
* active jobs. It is possible to bypass this requirement, i.e. not
|
227
|
+
* having active jobs using the "force" option.
|
228
|
+
*
|
229
|
+
* Note: This operation requires to iterate on all the jobs stored in the queue
|
230
|
+
* and can be slow for very large queues.
|
231
|
+
*
|
232
|
+
* @param opts - Obliterate options.
|
233
|
+
*/
|
234
|
+
async obliterate(opts) {
|
235
|
+
await this.pause();
|
236
|
+
let cursor = 0;
|
237
|
+
do {
|
238
|
+
cursor = await this.scripts.obliterate(Object.assign({ force: false, count: 1000 }, opts));
|
239
|
+
} while (cursor);
|
240
|
+
}
|
241
|
+
/**
|
242
|
+
* Retry all the failed jobs.
|
243
|
+
*
|
244
|
+
* @param opts - contains number to limit how many jobs will be moved to wait status per iteration,
|
245
|
+
* state (failed, completed) failed by default or from which timestamp.
|
246
|
+
* @returns
|
247
|
+
*/
|
248
|
+
async retryJobs(opts = {}) {
|
249
|
+
let cursor = 0;
|
250
|
+
do {
|
251
|
+
cursor = await this.scripts.retryJobs(opts.state, opts.count, opts.timestamp);
|
252
|
+
} while (cursor);
|
253
|
+
}
|
254
|
+
/**
|
255
|
+
* Trim the event stream to an approximately maxLength.
|
256
|
+
*
|
257
|
+
* @param maxLength -
|
258
|
+
*/
|
259
|
+
async trimEvents(maxLength) {
|
260
|
+
const client = await this.client;
|
261
|
+
return client.xtrim(this.keys.events, 'MAXLEN', '~', maxLength);
|
262
|
+
}
|
263
|
+
/**
|
264
|
+
* Delete old priority helper key.
|
265
|
+
*/
|
266
|
+
async removeDeprecatedPriorityKey() {
|
267
|
+
const client = await this.client;
|
268
|
+
return client.del(this.toKey('priority'));
|
269
|
+
}
|
270
|
+
}
|
271
|
+
//# sourceMappingURL=queue.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/classes/queue.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
import { EventEmitter } from 'events';
|
3
|
+
import { ConnectionOptions, RedisClient } from '../interfaces';
|
4
|
+
export interface RawCommand {
|
5
|
+
content: string;
|
6
|
+
name: string;
|
7
|
+
keys: number;
|
8
|
+
}
|
9
|
+
export declare class RedisConnection extends EventEmitter {
|
10
|
+
private readonly shared;
|
11
|
+
private readonly blocking;
|
12
|
+
static minimumVersion: string;
|
13
|
+
static recommendedMinimumVersion: string;
|
14
|
+
closing: boolean;
|
15
|
+
protected _client: RedisClient;
|
16
|
+
private readonly opts;
|
17
|
+
private initializing;
|
18
|
+
private version;
|
19
|
+
private handleClientError;
|
20
|
+
private handleClientClose;
|
21
|
+
private handleClientReady;
|
22
|
+
constructor(opts?: ConnectionOptions, shared?: boolean, blocking?: boolean);
|
23
|
+
private checkBlockingOptions;
|
24
|
+
/**
|
25
|
+
* Waits for a redis client to be ready.
|
26
|
+
* @param redis - client
|
27
|
+
*/
|
28
|
+
static waitUntilReady(client: RedisClient): Promise<void>;
|
29
|
+
get client(): Promise<RedisClient>;
|
30
|
+
protected loadCommands(providedScripts?: Record<string, RawCommand>): void;
|
31
|
+
private init;
|
32
|
+
disconnect(): Promise<void>;
|
33
|
+
reconnect(): Promise<void>;
|
34
|
+
close(): Promise<void>;
|
35
|
+
private getRedisVersion;
|
36
|
+
get redisVersion(): string;
|
37
|
+
}
|