bullmq 4.0.0-beta.2 → 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 +153 -19
- 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/cjs/interfaces/child-message.js +3 -0
- package/dist/cjs/interfaces/child-message.js.map +1 -0
- package/dist/{interfaces/jobs-options.js → cjs/interfaces/connection.js} +1 -1
- package/dist/cjs/interfaces/connection.js.map +1 -0
- package/dist/cjs/interfaces/flow-job.js +3 -0
- 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/cjs/interfaces/job-json.js +3 -0
- package/dist/cjs/interfaces/job-json.js.map +1 -0
- package/dist/cjs/interfaces/keep-jobs.js +3 -0
- 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/cjs/interfaces/redis-streams.js +3 -0
- package/dist/cjs/interfaces/redis-streams.js.map +1 -0
- package/dist/cjs/interfaces/repeat-options.js.map +1 -0
- package/dist/{interfaces/queue-scheduler-options.js → cjs/interfaces/sandboxed-job-processor.js} +1 -1
- 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 +180 -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 -315
- package/dist/classes/compat.js +0 -671
- 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 -353
- 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 -22
- package/dist/classes/queue-base.js +0 -66
- 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 -183
- package/dist/classes/queue-getters.js.map +0 -1
- package/dist/classes/queue-scheduler.d.ts +0 -25
- package/dist/classes/queue-scheduler.js +0 -97
- package/dist/classes/queue-scheduler.js.map +0 -1
- package/dist/classes/queue.d.ts +0 -56
- package/dist/classes/queue.js +0 -130
- package/dist/classes/queue.js.map +0 -1
- package/dist/classes/redis-connection.d.ts +0 -22
- package/dist/classes/redis-connection.js +0 -108
- package/dist/classes/redis-connection.js.map +0 -1
- package/dist/classes/repeat.d.ts +0 -26
- package/dist/classes/repeat.js +0 -129
- 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 -307
- package/dist/classes/scripts.js.map +0 -1
- package/dist/classes/worker.d.ts +0 -40
- package/dist/classes/worker.js +0 -246
- 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-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/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/backoff-options.d.ts +0 -4
- package/dist/interfaces/backoff-options.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/queue-options.d.ts +0 -24
- package/dist/interfaces/queue-options.js.map +0 -1
- package/dist/interfaces/queue-scheduler-options.d.ts +0 -5
- package/dist/interfaces/queue-scheduler-options.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/redis-options.d.ts +0 -5
- package/dist/interfaces/redis-options.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/worker-options.d.ts +0 -11
- package/dist/interfaces/worker-options.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 -142
- 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 -188
- 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 -148
- 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 -254
- 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 -604
- 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 -889
- package/src/classes/index.ts +0 -13
- package/src/classes/job.ts +0 -492
- package/src/classes/master.ts +0 -113
- package/src/classes/queue-base.ts +0 -80
- package/src/classes/queue-events.ts +0 -78
- package/src/classes/queue-getters.ts +0 -213
- package/src/classes/queue-scheduler.ts +0 -127
- package/src/classes/queue.ts +0 -194
- package/src/classes/redis-connection.ts +0 -127
- package/src/classes/repeat.ts +0 -212
- package/src/classes/sandbox.ts +0 -60
- package/src/classes/scripts.ts +0 -482
- package/src/classes/worker.ts +0 -313
- 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 -7
- 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 -161
- package/src/test/test_delay.ts +0 -221
- 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 -312
- package/src/test/test_queue.ts +0 -70
- package/src/test/test_rate_limiter.ts +0 -113
- package/src/test/test_repeat.ts +0 -787
- 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,347 @@
|
|
1
|
+
/*eslint-env node */
|
2
|
+
'use strict';
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.QueueGetters = void 0;
|
5
|
+
const queue_base_1 = require("./queue-base");
|
6
|
+
const job_1 = require("./job");
|
7
|
+
const utils_1 = require("../utils");
|
8
|
+
/**
|
9
|
+
*
|
10
|
+
* @class QueueGetters
|
11
|
+
* @extends QueueBase
|
12
|
+
*
|
13
|
+
* @description Provides different getters for different aspects of a queue.
|
14
|
+
*/
|
15
|
+
class QueueGetters extends queue_base_1.QueueBase {
|
16
|
+
getJob(jobId) {
|
17
|
+
return this.Job.fromId(this, jobId);
|
18
|
+
}
|
19
|
+
commandByType(types, count, callback) {
|
20
|
+
return types.map((type) => {
|
21
|
+
type = type === 'waiting' ? 'wait' : type; // alias
|
22
|
+
const key = this.toKey(type);
|
23
|
+
switch (type) {
|
24
|
+
case 'completed':
|
25
|
+
case 'failed':
|
26
|
+
case 'delayed':
|
27
|
+
case 'repeat':
|
28
|
+
case 'waiting-children':
|
29
|
+
return callback(key, count ? 'zcard' : 'zrange');
|
30
|
+
case 'active':
|
31
|
+
case 'wait':
|
32
|
+
case 'paused':
|
33
|
+
return callback(key, count ? 'llen' : 'lrange');
|
34
|
+
}
|
35
|
+
});
|
36
|
+
}
|
37
|
+
/**
|
38
|
+
* Helper to easily extend Job class calls.
|
39
|
+
*/
|
40
|
+
get Job() {
|
41
|
+
return job_1.Job;
|
42
|
+
}
|
43
|
+
sanitizeJobTypes(types) {
|
44
|
+
const currentTypes = typeof types === 'string' ? [types] : types;
|
45
|
+
if (Array.isArray(currentTypes) && currentTypes.length > 0) {
|
46
|
+
const sanitizedTypes = [...currentTypes];
|
47
|
+
if (sanitizedTypes.indexOf('waiting') !== -1) {
|
48
|
+
sanitizedTypes.push('paused');
|
49
|
+
}
|
50
|
+
return [...new Set(sanitizedTypes)];
|
51
|
+
}
|
52
|
+
return [
|
53
|
+
'active',
|
54
|
+
'completed',
|
55
|
+
'delayed',
|
56
|
+
'failed',
|
57
|
+
'paused',
|
58
|
+
'prioritized',
|
59
|
+
'waiting',
|
60
|
+
'waiting-children',
|
61
|
+
];
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
Returns the number of jobs waiting to be processed. This includes jobs that are "waiting" or "delayed".
|
65
|
+
*/
|
66
|
+
async count() {
|
67
|
+
const count = await this.getJobCountByTypes('waiting', 'paused', 'delayed', 'waiting-children');
|
68
|
+
return count;
|
69
|
+
}
|
70
|
+
/**
|
71
|
+
* Job counts by type
|
72
|
+
*
|
73
|
+
* Queue#getJobCountByTypes('completed') => completed count
|
74
|
+
* Queue#getJobCountByTypes('completed,failed') => completed + failed count
|
75
|
+
* Queue#getJobCountByTypes('completed', 'failed') => completed + failed count
|
76
|
+
* Queue#getJobCountByTypes('completed', 'waiting', 'failed') => completed + waiting + failed count
|
77
|
+
*/
|
78
|
+
async getJobCountByTypes(...types) {
|
79
|
+
const result = await this.getJobCounts(...types);
|
80
|
+
return Object.values(result).reduce((sum, count) => sum + count, 0);
|
81
|
+
}
|
82
|
+
/**
|
83
|
+
* Returns the job counts for each type specified or every list/set in the queue by default.
|
84
|
+
*
|
85
|
+
* @returns An object, key (type) and value (count)
|
86
|
+
*/
|
87
|
+
async getJobCounts(...types) {
|
88
|
+
const currentTypes = this.sanitizeJobTypes(types);
|
89
|
+
const responses = await this.scripts.getCounts(currentTypes);
|
90
|
+
const counts = {};
|
91
|
+
responses.forEach((res, index) => {
|
92
|
+
counts[currentTypes[index]] = res || 0;
|
93
|
+
});
|
94
|
+
return counts;
|
95
|
+
}
|
96
|
+
/**
|
97
|
+
* Get current job state.
|
98
|
+
*
|
99
|
+
* @returns Returns one of these values:
|
100
|
+
* 'completed', 'failed', 'delayed', 'active', 'waiting', 'waiting-children', 'unknown'.
|
101
|
+
*/
|
102
|
+
getJobState(jobId) {
|
103
|
+
return this.scripts.getState(jobId);
|
104
|
+
}
|
105
|
+
/**
|
106
|
+
* Returns the number of jobs in completed status.
|
107
|
+
*/
|
108
|
+
getCompletedCount() {
|
109
|
+
return this.getJobCountByTypes('completed');
|
110
|
+
}
|
111
|
+
/**
|
112
|
+
* Returns the number of jobs in failed status.
|
113
|
+
*/
|
114
|
+
getFailedCount() {
|
115
|
+
return this.getJobCountByTypes('failed');
|
116
|
+
}
|
117
|
+
/**
|
118
|
+
* Returns the number of jobs in delayed status.
|
119
|
+
*/
|
120
|
+
getDelayedCount() {
|
121
|
+
return this.getJobCountByTypes('delayed');
|
122
|
+
}
|
123
|
+
/**
|
124
|
+
* Returns the number of jobs in active status.
|
125
|
+
*/
|
126
|
+
getActiveCount() {
|
127
|
+
return this.getJobCountByTypes('active');
|
128
|
+
}
|
129
|
+
/**
|
130
|
+
* Returns the number of jobs in waiting or paused statuses.
|
131
|
+
*/
|
132
|
+
getWaitingCount() {
|
133
|
+
return this.getJobCountByTypes('waiting');
|
134
|
+
}
|
135
|
+
/**
|
136
|
+
* Returns the number of jobs in waiting-children status.
|
137
|
+
*/
|
138
|
+
getWaitingChildrenCount() {
|
139
|
+
return this.getJobCountByTypes('waiting-children');
|
140
|
+
}
|
141
|
+
/**
|
142
|
+
* Returns the jobs that are in the "waiting" status.
|
143
|
+
* @param start - zero based index from where to start returning jobs.
|
144
|
+
* @param end - zero based index where to stop returning jobs.
|
145
|
+
*/
|
146
|
+
getWaiting(start = 0, end = -1) {
|
147
|
+
return this.getJobs(['waiting'], start, end, true);
|
148
|
+
}
|
149
|
+
/**
|
150
|
+
* Returns the jobs that are in the "waiting" status.
|
151
|
+
* @param start - zero based index from where to start returning jobs.
|
152
|
+
* @param end - zero based index where to stop returning jobs.
|
153
|
+
*/
|
154
|
+
getWaitingChildren(start = 0, end = -1) {
|
155
|
+
return this.getJobs(['waiting-children'], start, end, true);
|
156
|
+
}
|
157
|
+
/**
|
158
|
+
* Returns the jobs that are in the "active" status.
|
159
|
+
* @param start - zero based index from where to start returning jobs.
|
160
|
+
* @param end - zero based index where to stop returning jobs.
|
161
|
+
*/
|
162
|
+
getActive(start = 0, end = -1) {
|
163
|
+
return this.getJobs(['active'], start, end, true);
|
164
|
+
}
|
165
|
+
/**
|
166
|
+
* Returns the jobs that are in the "delayed" status.
|
167
|
+
* @param start - zero based index from where to start returning jobs.
|
168
|
+
* @param end - zero based index where to stop returning jobs.
|
169
|
+
*/
|
170
|
+
getDelayed(start = 0, end = -1) {
|
171
|
+
return this.getJobs(['delayed'], start, end, true);
|
172
|
+
}
|
173
|
+
/**
|
174
|
+
* Returns the jobs that are in the "completed" status.
|
175
|
+
* @param start - zero based index from where to start returning jobs.
|
176
|
+
* @param end - zero based index where to stop returning jobs.
|
177
|
+
*/
|
178
|
+
getCompleted(start = 0, end = -1) {
|
179
|
+
return this.getJobs(['completed'], start, end, false);
|
180
|
+
}
|
181
|
+
/**
|
182
|
+
* Returns the jobs that are in the "failed" status.
|
183
|
+
* @param start - zero based index from where to start returning jobs.
|
184
|
+
* @param end - zero based index where to stop returning jobs.
|
185
|
+
*/
|
186
|
+
getFailed(start = 0, end = -1) {
|
187
|
+
return this.getJobs(['failed'], start, end, false);
|
188
|
+
}
|
189
|
+
async getRanges(types, start = 0, end = 1, asc = false) {
|
190
|
+
const multiCommands = [];
|
191
|
+
this.commandByType(types, false, (key, command) => {
|
192
|
+
switch (command) {
|
193
|
+
case 'lrange':
|
194
|
+
multiCommands.push('lrange');
|
195
|
+
break;
|
196
|
+
case 'zrange':
|
197
|
+
multiCommands.push('zrange');
|
198
|
+
break;
|
199
|
+
}
|
200
|
+
});
|
201
|
+
const responses = await this.scripts.getRanges(types, start, end, asc);
|
202
|
+
let results = [];
|
203
|
+
responses.forEach((response, index) => {
|
204
|
+
const result = response || [];
|
205
|
+
if (asc && multiCommands[index] === 'lrange') {
|
206
|
+
results = results.concat(result.reverse());
|
207
|
+
}
|
208
|
+
else {
|
209
|
+
results = results.concat(result);
|
210
|
+
}
|
211
|
+
});
|
212
|
+
return [...new Set(results)];
|
213
|
+
}
|
214
|
+
/**
|
215
|
+
* Returns the jobs that are on the given statuses (note that JobType is synonym for job status)
|
216
|
+
* @param types - the statuses of the jobs to return.
|
217
|
+
* @param start - zero based index from where to start returning jobs.
|
218
|
+
* @param end - zero based index where to stop returning jobs.
|
219
|
+
* @param asc - if true, the jobs will be returned in ascending order.
|
220
|
+
*/
|
221
|
+
async getJobs(types, start = 0, end = -1, asc = false) {
|
222
|
+
types = this.sanitizeJobTypes(types);
|
223
|
+
const jobIds = await this.getRanges(types, start, end, asc);
|
224
|
+
return Promise.all(jobIds.map(jobId => this.Job.fromId(this, jobId)));
|
225
|
+
}
|
226
|
+
/**
|
227
|
+
* Returns the logs for a given Job.
|
228
|
+
* @param jobId - the id of the job to get the logs for.
|
229
|
+
* @param start - zero based index from where to start returning jobs.
|
230
|
+
* @param end - zero based index where to stop returning jobs.
|
231
|
+
* @param asc - if true, the jobs will be returned in ascending order.
|
232
|
+
*/
|
233
|
+
async getJobLogs(jobId, start = 0, end = -1, asc = true) {
|
234
|
+
const client = await this.client;
|
235
|
+
const multi = client.multi();
|
236
|
+
const logsKey = this.toKey(jobId + ':logs');
|
237
|
+
if (asc) {
|
238
|
+
multi.lrange(logsKey, start, end);
|
239
|
+
}
|
240
|
+
else {
|
241
|
+
multi.lrange(logsKey, -(end + 1), -(start + 1));
|
242
|
+
}
|
243
|
+
multi.llen(logsKey);
|
244
|
+
const result = (await multi.exec());
|
245
|
+
if (!asc) {
|
246
|
+
result[0][1].reverse();
|
247
|
+
}
|
248
|
+
return {
|
249
|
+
logs: result[0][1],
|
250
|
+
count: result[1][1],
|
251
|
+
};
|
252
|
+
}
|
253
|
+
async baseGetClients(suffix) {
|
254
|
+
const client = await this.client;
|
255
|
+
const clients = (await client.client('LIST'));
|
256
|
+
try {
|
257
|
+
const list = this.parseClientList(clients, suffix);
|
258
|
+
return list;
|
259
|
+
}
|
260
|
+
catch (err) {
|
261
|
+
if (!utils_1.clientCommandMessageReg.test(err.message)) {
|
262
|
+
throw err;
|
263
|
+
}
|
264
|
+
return [];
|
265
|
+
}
|
266
|
+
}
|
267
|
+
/**
|
268
|
+
* Get the worker list related to the queue. i.e. all the known
|
269
|
+
* workers that are available to process jobs for this queue.
|
270
|
+
* Note: GCP does not support SETNAME, so this call will not work
|
271
|
+
*
|
272
|
+
* @returns - Returns an array with workers info.
|
273
|
+
*/
|
274
|
+
getWorkers() {
|
275
|
+
return this.baseGetClients(utils_1.WORKER_SUFFIX);
|
276
|
+
}
|
277
|
+
/**
|
278
|
+
* Get queue events list related to the queue.
|
279
|
+
* Note: GCP does not support SETNAME, so this call will not work
|
280
|
+
*
|
281
|
+
* @returns - Returns an array with queue events info.
|
282
|
+
*/
|
283
|
+
async getQueueEvents() {
|
284
|
+
return this.baseGetClients(utils_1.QUEUE_EVENT_SUFFIX);
|
285
|
+
}
|
286
|
+
/**
|
287
|
+
* Get queue metrics related to the queue.
|
288
|
+
*
|
289
|
+
* This method returns the gathered metrics for the queue.
|
290
|
+
* The metrics are represented as an array of job counts
|
291
|
+
* per unit of time (1 minute).
|
292
|
+
*
|
293
|
+
* @param start - Start point of the metrics, where 0
|
294
|
+
* is the newest point to be returned.
|
295
|
+
* @param end - End point of the metrics, where -1 is the
|
296
|
+
* oldest point to be returned.
|
297
|
+
*
|
298
|
+
* @returns - Returns an object with queue metrics.
|
299
|
+
*/
|
300
|
+
async getMetrics(type, start = 0, end = -1) {
|
301
|
+
const client = await this.client;
|
302
|
+
const metricsKey = this.toKey(`metrics:${type}`);
|
303
|
+
const dataKey = `${metricsKey}:data`;
|
304
|
+
const multi = client.multi();
|
305
|
+
multi.hmget(metricsKey, 'count', 'prevTS', 'prevCount');
|
306
|
+
multi.lrange(dataKey, start, end);
|
307
|
+
multi.llen(dataKey);
|
308
|
+
const [hmget, range, len] = (await multi.exec());
|
309
|
+
const [err, [count, prevTS, prevCount]] = hmget;
|
310
|
+
const [err2, data] = range;
|
311
|
+
const [err3, numPoints] = len;
|
312
|
+
if (err || err2) {
|
313
|
+
throw err || err2 || err3;
|
314
|
+
}
|
315
|
+
return {
|
316
|
+
meta: {
|
317
|
+
count: parseInt(count || '0', 10),
|
318
|
+
prevTS: parseInt(prevTS || '0', 10),
|
319
|
+
prevCount: parseInt(prevCount || '0', 10),
|
320
|
+
},
|
321
|
+
data,
|
322
|
+
count: numPoints,
|
323
|
+
};
|
324
|
+
}
|
325
|
+
parseClientList(list, suffix = '') {
|
326
|
+
const lines = list.split('\n');
|
327
|
+
const clients = [];
|
328
|
+
lines.forEach((line) => {
|
329
|
+
const client = {};
|
330
|
+
const keyValues = line.split(' ');
|
331
|
+
keyValues.forEach(function (keyValue) {
|
332
|
+
const index = keyValue.indexOf('=');
|
333
|
+
const key = keyValue.substring(0, index);
|
334
|
+
const value = keyValue.substring(index + 1);
|
335
|
+
client[key] = value;
|
336
|
+
});
|
337
|
+
const name = client['name'];
|
338
|
+
if (name && name === `${this.clientName()}${suffix ? `${suffix}` : ''}`) {
|
339
|
+
client['name'] = this.name;
|
340
|
+
clients.push(client);
|
341
|
+
}
|
342
|
+
});
|
343
|
+
return clients;
|
344
|
+
}
|
345
|
+
}
|
346
|
+
exports.QueueGetters = QueueGetters;
|
347
|
+
//# sourceMappingURL=queue-getters.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"queue-getters.js","sourceRoot":"","sources":["../../../src/classes/queue-getters.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.QueueKeys = void 0;
|
4
|
+
class QueueKeys {
|
5
|
+
constructor(prefix = 'bull') {
|
6
|
+
this.prefix = prefix;
|
7
|
+
}
|
8
|
+
getKeys(name) {
|
9
|
+
const keys = {};
|
10
|
+
[
|
11
|
+
'',
|
12
|
+
'active',
|
13
|
+
'wait',
|
14
|
+
'waiting',
|
15
|
+
'paused',
|
16
|
+
'resumed',
|
17
|
+
'id',
|
18
|
+
'delayed',
|
19
|
+
'prioritized',
|
20
|
+
'stalled-check',
|
21
|
+
'completed',
|
22
|
+
'failed',
|
23
|
+
'stalled',
|
24
|
+
'repeat',
|
25
|
+
'limiter',
|
26
|
+
'drained',
|
27
|
+
'progress',
|
28
|
+
'meta',
|
29
|
+
'events',
|
30
|
+
'delay',
|
31
|
+
'pc',
|
32
|
+
].forEach(key => {
|
33
|
+
keys[key] = this.toKey(name, key);
|
34
|
+
});
|
35
|
+
return keys;
|
36
|
+
}
|
37
|
+
toKey(name, type) {
|
38
|
+
return `${this.getPrefixedQueueName(name)}:${type}`;
|
39
|
+
}
|
40
|
+
getPrefixedQueueName(name) {
|
41
|
+
return `${this.prefix}:${name}`;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
exports.QueueKeys = QueueKeys;
|
45
|
+
//# sourceMappingURL=queue-keys.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"queue-keys.js","sourceRoot":"","sources":["../../../src/classes/queue-keys.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IACpB,YAA4B,SAAiB,MAAM;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAEvD,OAAO,CAAC,IAAY;QAClB,MAAM,IAAI,GAAgC,EAAE,CAAC;QAC7C;YACE,EAAE;YACF,QAAQ;YACR,MAAM;YACN,SAAS;YACT,QAAQ;YACR,SAAS;YACT,IAAI;YACJ,SAAS;YACT,aAAa;YACb,eAAe;YACf,WAAW;YACX,QAAQ;YACR,SAAS;YACT,QAAQ;YACR,SAAS;YACT,SAAS;YACT,UAAU;YACV,MAAM;YACN,QAAQ;YACR,OAAO;YACP,IAAI;SACL,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,IAAY;QAC9B,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC;CACF;AAzCD,8BAyCC"}
|
@@ -0,0 +1,275 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Queue = void 0;
|
4
|
+
const lodash_1 = require("lodash");
|
5
|
+
const uuid_1 = require("uuid");
|
6
|
+
const utils_1 = require("../utils");
|
7
|
+
const queue_getters_1 = require("./queue-getters");
|
8
|
+
const repeat_1 = require("./repeat");
|
9
|
+
/**
|
10
|
+
* Queue
|
11
|
+
*
|
12
|
+
* This class provides methods to add jobs to a queue and some othe high-level
|
13
|
+
* administration such as pausing or deleting queues.
|
14
|
+
*
|
15
|
+
*/
|
16
|
+
class Queue extends queue_getters_1.QueueGetters {
|
17
|
+
constructor(name, opts, Connection) {
|
18
|
+
var _a;
|
19
|
+
super(name, Object.assign({ sharedConnection: (0, utils_1.isRedisInstance)(opts === null || opts === void 0 ? void 0 : opts.connection), blockingConnection: false }, opts), Connection);
|
20
|
+
this.token = (0, uuid_1.v4)();
|
21
|
+
this.jobsOpts = (_a = (0, lodash_1.get)(opts, 'defaultJobOptions')) !== null && _a !== void 0 ? _a : {};
|
22
|
+
this.waitUntilReady()
|
23
|
+
.then(client => {
|
24
|
+
if (!this.closing) {
|
25
|
+
client.hset(this.keys.meta, 'opts.maxLenEvents', (0, lodash_1.get)(opts, 'streams.events.maxLen', 10000));
|
26
|
+
}
|
27
|
+
})
|
28
|
+
.catch(err => {
|
29
|
+
// We ignore this error to avoid warnings. The error can still
|
30
|
+
// be received by listening to event 'error'
|
31
|
+
});
|
32
|
+
}
|
33
|
+
emit(event, ...args) {
|
34
|
+
return super.emit(event, ...args);
|
35
|
+
}
|
36
|
+
off(eventName, listener) {
|
37
|
+
super.off(eventName, listener);
|
38
|
+
return this;
|
39
|
+
}
|
40
|
+
on(event, listener) {
|
41
|
+
super.on(event, listener);
|
42
|
+
return this;
|
43
|
+
}
|
44
|
+
once(event, listener) {
|
45
|
+
super.once(event, listener);
|
46
|
+
return this;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* Returns this instance current default job options.
|
50
|
+
*/
|
51
|
+
get defaultJobOptions() {
|
52
|
+
return Object.assign({}, this.jobsOpts);
|
53
|
+
}
|
54
|
+
get repeat() {
|
55
|
+
return new Promise(async (resolve) => {
|
56
|
+
if (!this._repeat) {
|
57
|
+
this._repeat = new repeat_1.Repeat(this.name, Object.assign(Object.assign({}, this.opts), { connection: await this.client }));
|
58
|
+
this._repeat.on('error', e => this.emit.bind(this, e));
|
59
|
+
}
|
60
|
+
resolve(this._repeat);
|
61
|
+
});
|
62
|
+
}
|
63
|
+
/**
|
64
|
+
* Adds a new job to the queue.
|
65
|
+
*
|
66
|
+
* @param name - Name of the job to be added to the queue,.
|
67
|
+
* @param data - Arbitrary data to append to the job.
|
68
|
+
* @param opts - Job options that affects how the job is going to be processed.
|
69
|
+
*/
|
70
|
+
async add(name, data, opts) {
|
71
|
+
if (opts && opts.repeat) {
|
72
|
+
return (await this.repeat).addNextRepeatableJob(name, data, Object.assign(Object.assign({}, this.jobsOpts), opts), true);
|
73
|
+
}
|
74
|
+
else {
|
75
|
+
const jobId = opts === null || opts === void 0 ? void 0 : opts.jobId;
|
76
|
+
if (jobId == '0' || (jobId === null || jobId === void 0 ? void 0 : jobId.startsWith('0:'))) {
|
77
|
+
throw new Error("JobId cannot be '0' or start with 0:");
|
78
|
+
}
|
79
|
+
const job = await this.Job.create(this, name, data, Object.assign(Object.assign(Object.assign({}, this.jobsOpts), opts), { jobId }));
|
80
|
+
this.emit('waiting', job);
|
81
|
+
return job;
|
82
|
+
}
|
83
|
+
}
|
84
|
+
/**
|
85
|
+
* Adds an array of jobs to the queue. This method may be faster than adding
|
86
|
+
* one job at a time in a sequence.
|
87
|
+
*
|
88
|
+
* @param jobs - The array of jobs to add to the queue. Each job is defined by 3
|
89
|
+
* properties, 'name', 'data' and 'opts'. They follow the same signature as 'Queue.add'.
|
90
|
+
*/
|
91
|
+
addBulk(jobs) {
|
92
|
+
return this.Job.createBulk(this, jobs.map(job => {
|
93
|
+
var _a;
|
94
|
+
return ({
|
95
|
+
name: job.name,
|
96
|
+
data: job.data,
|
97
|
+
opts: Object.assign(Object.assign(Object.assign({}, this.jobsOpts), job.opts), { jobId: (_a = job.opts) === null || _a === void 0 ? void 0 : _a.jobId }),
|
98
|
+
});
|
99
|
+
}));
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* Pauses the processing of this queue globally.
|
103
|
+
*
|
104
|
+
* We use an atomic RENAME operation on the wait queue. Since
|
105
|
+
* we have blocking calls with BRPOPLPUSH on the wait queue, as long as the queue
|
106
|
+
* is renamed to 'paused', no new jobs will be processed (the current ones
|
107
|
+
* will run until finalized).
|
108
|
+
*
|
109
|
+
* Adding jobs requires a LUA script to check first if the paused list exist
|
110
|
+
* and in that case it will add it there instead of the wait list.
|
111
|
+
*/
|
112
|
+
async pause() {
|
113
|
+
await this.scripts.pause(true);
|
114
|
+
this.emit('paused');
|
115
|
+
}
|
116
|
+
/**
|
117
|
+
* Close the queue instance.
|
118
|
+
*
|
119
|
+
*/
|
120
|
+
async close() {
|
121
|
+
if (!this.closing) {
|
122
|
+
if (this._repeat) {
|
123
|
+
await this._repeat.close();
|
124
|
+
}
|
125
|
+
}
|
126
|
+
return super.close();
|
127
|
+
}
|
128
|
+
/**
|
129
|
+
* Resumes the processing of this queue globally.
|
130
|
+
*
|
131
|
+
* The method reverses the pause operation by resuming the processing of the
|
132
|
+
* queue.
|
133
|
+
*/
|
134
|
+
async resume() {
|
135
|
+
await this.scripts.pause(false);
|
136
|
+
this.emit('resumed');
|
137
|
+
}
|
138
|
+
/**
|
139
|
+
* Returns true if the queue is currently paused.
|
140
|
+
*/
|
141
|
+
async isPaused() {
|
142
|
+
const client = await this.client;
|
143
|
+
const pausedKeyExists = await client.hexists(this.keys.meta, 'paused');
|
144
|
+
return pausedKeyExists === 1;
|
145
|
+
}
|
146
|
+
/**
|
147
|
+
* Get all repeatable meta jobs.
|
148
|
+
*
|
149
|
+
* @param start - Offset of first job to return.
|
150
|
+
* @param end - Offset of last job to return.
|
151
|
+
* @param asc - Determine the order in which jobs are returned based on their
|
152
|
+
* next execution time.
|
153
|
+
*/
|
154
|
+
async getRepeatableJobs(start, end, asc) {
|
155
|
+
return (await this.repeat).getRepeatableJobs(start, end, asc);
|
156
|
+
}
|
157
|
+
/**
|
158
|
+
* Removes a repeatable job.
|
159
|
+
*
|
160
|
+
* Note: you need to use the exact same repeatOpts when deleting a repeatable job
|
161
|
+
* than when adding it.
|
162
|
+
*
|
163
|
+
* @see removeRepeatableByKey
|
164
|
+
*
|
165
|
+
* @param name -
|
166
|
+
* @param repeatOpts -
|
167
|
+
* @param jobId -
|
168
|
+
* @returns
|
169
|
+
*/
|
170
|
+
async removeRepeatable(name, repeatOpts, jobId) {
|
171
|
+
const repeat = await this.repeat;
|
172
|
+
const removed = await repeat.removeRepeatable(name, repeatOpts, jobId);
|
173
|
+
return !removed;
|
174
|
+
}
|
175
|
+
/**
|
176
|
+
* Removes a repeatable job by its key. Note that the key is the one used
|
177
|
+
* to store the repeatable job metadata and not one of the job iterations
|
178
|
+
* themselves. You can use "getRepeatableJobs" in order to get the keys.
|
179
|
+
*
|
180
|
+
* @see getRepeatableJobs
|
181
|
+
*
|
182
|
+
* @param key - to the repeatable job.
|
183
|
+
* @returns
|
184
|
+
*/
|
185
|
+
async removeRepeatableByKey(key) {
|
186
|
+
const repeat = await this.repeat;
|
187
|
+
const removed = await repeat.removeRepeatableByKey(key);
|
188
|
+
return !removed;
|
189
|
+
}
|
190
|
+
/**
|
191
|
+
* Removes the given job from the queue as well as all its
|
192
|
+
* dependencies.
|
193
|
+
*
|
194
|
+
* @param jobId - The id of the job to remove
|
195
|
+
* @returns 1 if it managed to remove the job or 0 if the job or
|
196
|
+
* any of its dependencies were locked.
|
197
|
+
*/
|
198
|
+
remove(jobId) {
|
199
|
+
return this.scripts.remove(jobId);
|
200
|
+
}
|
201
|
+
/**
|
202
|
+
* Drains the queue, i.e., removes all jobs that are waiting
|
203
|
+
* or delayed, but not active, completed or failed.
|
204
|
+
*
|
205
|
+
* @param delayed - Pass true if it should also clean the
|
206
|
+
* delayed jobs.
|
207
|
+
*/
|
208
|
+
drain(delayed = false) {
|
209
|
+
return this.scripts.drain(delayed);
|
210
|
+
}
|
211
|
+
/**
|
212
|
+
* Cleans jobs from a queue. Similar to drain but keeps jobs within a certain
|
213
|
+
* grace period.
|
214
|
+
*
|
215
|
+
* @param grace - The grace period
|
216
|
+
* @param limit - Max number of jobs to clean
|
217
|
+
* @param type - The type of job to clean
|
218
|
+
* Possible values are completed, wait, active, paused, delayed, failed. Defaults to completed.
|
219
|
+
* @returns Id jobs from the deleted records
|
220
|
+
*/
|
221
|
+
async clean(grace, limit, type = 'completed') {
|
222
|
+
const jobs = await this.scripts.cleanJobsInSet(type, Date.now() - grace, limit);
|
223
|
+
this.emit('cleaned', jobs, type);
|
224
|
+
return jobs;
|
225
|
+
}
|
226
|
+
/**
|
227
|
+
* Completely destroys the queue and all of its contents irreversibly.
|
228
|
+
* This method will the *pause* the queue and requires that there are no
|
229
|
+
* active jobs. It is possible to bypass this requirement, i.e. not
|
230
|
+
* having active jobs using the "force" option.
|
231
|
+
*
|
232
|
+
* Note: This operation requires to iterate on all the jobs stored in the queue
|
233
|
+
* and can be slow for very large queues.
|
234
|
+
*
|
235
|
+
* @param opts - Obliterate options.
|
236
|
+
*/
|
237
|
+
async obliterate(opts) {
|
238
|
+
await this.pause();
|
239
|
+
let cursor = 0;
|
240
|
+
do {
|
241
|
+
cursor = await this.scripts.obliterate(Object.assign({ force: false, count: 1000 }, opts));
|
242
|
+
} while (cursor);
|
243
|
+
}
|
244
|
+
/**
|
245
|
+
* Retry all the failed jobs.
|
246
|
+
*
|
247
|
+
* @param opts - contains number to limit how many jobs will be moved to wait status per iteration,
|
248
|
+
* state (failed, completed) failed by default or from which timestamp.
|
249
|
+
* @returns
|
250
|
+
*/
|
251
|
+
async retryJobs(opts = {}) {
|
252
|
+
let cursor = 0;
|
253
|
+
do {
|
254
|
+
cursor = await this.scripts.retryJobs(opts.state, opts.count, opts.timestamp);
|
255
|
+
} while (cursor);
|
256
|
+
}
|
257
|
+
/**
|
258
|
+
* Trim the event stream to an approximately maxLength.
|
259
|
+
*
|
260
|
+
* @param maxLength -
|
261
|
+
*/
|
262
|
+
async trimEvents(maxLength) {
|
263
|
+
const client = await this.client;
|
264
|
+
return client.xtrim(this.keys.events, 'MAXLEN', '~', maxLength);
|
265
|
+
}
|
266
|
+
/**
|
267
|
+
* Delete old priority helper key.
|
268
|
+
*/
|
269
|
+
async removeDeprecatedPriorityKey() {
|
270
|
+
const client = await this.client;
|
271
|
+
return client.del(this.toKey('priority'));
|
272
|
+
}
|
273
|
+
}
|
274
|
+
exports.Queue = Queue;
|
275
|
+
//# sourceMappingURL=queue.js.map
|