@tachybase/plugin-adapter-bullmq 0.23.8
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/.turbo/turbo-build.log +3 -0
- package/README.md +1 -0
- package/client.d.ts +2 -0
- package/client.js +1 -0
- package/dist/client/index.d.ts +4 -0
- package/dist/client/index.js +1 -0
- package/dist/externalVersion.js +4 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +39 -0
- package/dist/node_modules/@bull-board/api/bullAdapter.d.ts +1 -0
- package/dist/node_modules/@bull-board/api/bullAdapter.js +1 -0
- package/dist/node_modules/@bull-board/api/bullMQAdapter.d.ts +1 -0
- package/dist/node_modules/@bull-board/api/bullMQAdapter.js +1 -0
- package/dist/node_modules/@bull-board/api/dist/src/constants/statuses.d.ts +11 -0
- package/dist/node_modules/@bull-board/api/dist/src/constants/statuses.js +15 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/addJob.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/addJob.js +18 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanAll.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanAll.js +15 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanJob.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanJob.js +14 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/emptyQueue.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/emptyQueue.js +10 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/entryPoint.d.ts +5 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/entryPoint.js +21 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/error.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/error.js +14 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/job.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/job.js +20 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/jobLogs.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/jobLogs.js +16 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseQueue.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseQueue.js +10 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/promotJob.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/promotJob.js +14 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/promoteAll.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/promoteAll.js +10 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/queues.d.ts +4 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/queues.js +76 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/redisStats.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/redisStats.js +33 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeQueue.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeQueue.js +10 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/retryAll.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/retryAll.js +12 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/retryJob.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/retryJob.js +15 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/updateJobData.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/handlers/updateJobData.js +20 -0
- package/dist/node_modules/@bull-board/api/dist/src/index.d.ts +12 -0
- package/dist/node_modules/@bull-board/api/dist/src/index.js +1 -0
- package/dist/node_modules/@bull-board/api/dist/src/providers/job.d.ts +3 -0
- package/dist/node_modules/@bull-board/api/dist/src/providers/job.js +19 -0
- package/dist/node_modules/@bull-board/api/dist/src/providers/queue.d.ts +5 -0
- package/dist/node_modules/@bull-board/api/dist/src/providers/queue.js +20 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.d.ts +31 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.js +27 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bull.d.ts +23 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bull.js +87 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bullMQ.d.ts +22 -0
- package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bullMQ.js +91 -0
- package/dist/node_modules/@bull-board/api/dist/src/queuesApi.d.ts +9 -0
- package/dist/node_modules/@bull-board/api/dist/src/queuesApi.js +32 -0
- package/dist/node_modules/@bull-board/api/dist/src/routes.d.ts +2 -0
- package/dist/node_modules/@bull-board/api/dist/src/routes.js +96 -0
- package/dist/node_modules/@bull-board/api/dist/typings/app.d.ts +203 -0
- package/dist/node_modules/@bull-board/api/dist/typings/app.js +3 -0
- package/dist/node_modules/@bull-board/api/dist/typings/responses.d.ts +8 -0
- package/dist/node_modules/@bull-board/api/dist/typings/responses.js +3 -0
- package/dist/node_modules/@bull-board/api/dist/typings/utils.d.ts +1 -0
- package/dist/node_modules/@bull-board/api/dist/typings/utils.js +3 -0
- package/dist/node_modules/@bull-board/api/package.json +1 -0
- package/dist/node_modules/@bull-board/koa/dist/KoaAdapter.d.ts +23 -0
- package/dist/node_modules/@bull-board/koa/dist/KoaAdapter.js +125 -0
- package/dist/node_modules/@bull-board/koa/dist/index.d.ts +1 -0
- package/dist/node_modules/@bull-board/koa/dist/index.js +415 -0
- package/dist/node_modules/@bull-board/koa/node_modules/.bin/ejs +17 -0
- package/dist/node_modules/@bull-board/koa/package.json +1 -0
- package/dist/node_modules/bullmq/LICENSE +21 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/async-fifo-queue.js +129 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/backoffs.js +48 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/child-pool.js +71 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/child-processor.js +154 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/child.js +210 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/errors/delayed-error.js +20 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/errors/index.js +8 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/errors/rate-limit-error.js +19 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/errors/unrecoverable-error.js +20 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/errors/waiting-children-error.js +20 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/flow-producer.js +339 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/index.js +25 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/job-scheduler.js +221 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/job.js +893 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/main-base.js +44 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/main-worker.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/main-worker.js +10 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/main.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/main.js +10 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/queue-base.js +155 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/queue-events-producer.js +42 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/queue-events.js +125 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/queue-getters.js +450 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/queue-keys.js +43 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/queue.js +635 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/redis-connection.js +270 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/repeat.js +204 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/sandbox.js +75 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/scripts.js +1035 -0
- package/dist/node_modules/bullmq/dist/cjs/classes/worker.js +819 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/addDelayedJob-6.lua +119 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/addJobScheduler-2.lua +91 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/addLog-2.lua +30 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/addParentJob-4.lua +104 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/addPrioritizedJob-8.lua +117 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/addRepeatableJob-2.lua +84 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/addStandardJob-8.lua +122 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/changeDelay-4.lua +55 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/changePriority-7.lua +68 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/cleanJobsInSet-3.lua +55 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/drain-5.lua +41 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/extendLock-2.lua +23 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/extendLocks-1.lua +44 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getCounts-1.lua +36 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getCountsPerPriority-4.lua +35 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getJobScheduler-1.lua +19 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getRanges-1.lua +70 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getRateLimitTtl-1.lua +20 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getState-8.lua +65 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/getStateV2-8.lua +58 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/addBaseMarkerIfNeeded.lua +9 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/addDelayMarkerIfNeeded.lua +15 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobInTargetList.lua +11 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobWithPriority.lua +14 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/batches.lua +18 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/checkItemInList.lua +12 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanList.lua +47 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanSet.lua +66 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/collectMetrics.lua +46 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/deduplicateJob.lua +24 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/destructureJobKey.lua +12 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/findPage.lua +70 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getDelayedScore.lua +25 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getJobsInZset.lua +13 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +12 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getOrSetMaxEvents.lua +11 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getRateLimitTTL.lua +17 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getTargetQueueList.lua +22 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getTimestamp.lua +19 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/getZSetItems.lua +7 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/handleDuplicatedJob.lua +26 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/isLocked.lua +33 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/isQueueMaxed.lua +15 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/isQueuePaused.lua +7 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/isQueuePausedOrMaxed.lua +18 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveJobFromPriorityToActive.lua +13 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +53 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWaitIfNeeded.lua +55 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/prepareJobForProcessing.lua +50 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/promoteDelayedJobs.lua +40 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/pushBackJobWithPriority.lua +9 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKey.lua +11 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJob.lua +17 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobFromAnyState.lua +35 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobKeys.lua +8 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobs.lua +13 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobsByMaxAge.lua +16 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobsByMaxCount.lua +15 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobsOnFail.lua +36 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeListJobs.lua +17 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeLock.lua +19 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeParentDependencyKey.lua +90 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeZSetJobs.lua +27 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/storeJob.lua +36 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/trimEvents.lua +15 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateExistingJobsParent.lua +27 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateJobFields.lua +11 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +13 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/isFinished-3.lua +48 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/isJobInList-1.lua +16 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/isMaxed-2.lua +17 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveJobFromActiveToWait-10.lua +60 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveJobsToWait-8.lua +73 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveStalledJobsToWait-9.lua +156 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToActive-11.lua +93 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToDelayed-8.lua +77 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToFinished-14.lua +283 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/moveToWaitingChildren-5.lua +68 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/obliterate-2.lua +118 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/paginate-1.lua +49 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/pause-7.lua +42 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/promote-9.lua +62 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/releaseLock-1.lua +19 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/removeChildDependency-1.lua +34 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/removeJob-2.lua +92 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/removeJobScheduler-3.lua +43 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/removeRepeatable-3.lua +58 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/reprocessJob-8.lua +49 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/retryJob-11.lua +82 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/saveStacktrace-1.lua +19 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/updateData-1.lua +20 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/updateProgress-3.lua +33 -0
- package/dist/node_modules/bullmq/dist/cjs/commands/updateRepeatableJobMillis-1.lua +28 -0
- package/dist/node_modules/bullmq/dist/cjs/enums/child-command.js +10 -0
- package/dist/node_modules/bullmq/dist/cjs/enums/error-code.js +15 -0
- package/dist/node_modules/bullmq/dist/cjs/enums/index.js +9 -0
- package/dist/node_modules/bullmq/dist/cjs/enums/metrics-time.js +15 -0
- package/dist/node_modules/bullmq/dist/cjs/enums/parent-command.js +16 -0
- package/dist/node_modules/bullmq/dist/cjs/enums/telemetry-attributes.js +48 -0
- package/dist/node_modules/bullmq/dist/cjs/index.js +1 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/advanced-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/backoff-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/base-job-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/child-message.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/connection.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/debounce-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/flow-job.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/index.js +32 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/ioredis-events.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/job-json.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/job-scheduler-json.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/keep-jobs.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/metrics-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/metrics.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/minimal-job.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/parent-message.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/parent.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/queue-options.js +9 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/rate-limiter-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/redis-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/redis-streams.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/repeat-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/repeatable-job.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/repeatable-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/sandboxed-job-processor.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/sandboxed-job.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/sandboxed-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/telemetry.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/interfaces/worker-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addDelayedJob-6.js +373 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addJobScheduler-2.js +237 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addLog-2.js +33 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addParentJob-4.js +340 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addPrioritizedJob-8.js +350 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addRepeatableJob-2.js +230 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/addStandardJob-8.js +354 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/changeDelay-4.js +107 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/changePriority-7.js +122 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/cleanJobsInSet-3.js +350 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/drain-5.js +258 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/extendLock-2.js +30 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/extendLocks-1.js +46 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getCounts-1.js +42 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getCountsPerPriority-4.js +46 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getJobScheduler-1.js +23 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getRanges-1.js +73 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getRateLimitTtl-1.js +39 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getState-8.js +73 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/getStateV2-8.js +57 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/index.js +49 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/isFinished-3.js +49 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/isJobInList-1.js +32 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/isMaxed-2.js +34 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveJobFromActiveToWait-10.js +110 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveJobsToWait-8.js +118 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveStalledJobsToWait-9.js +529 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToActive-11.js +233 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToDelayed-8.js +156 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToFinished-14.js +798 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/moveToWaitingChildren-5.js +83 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/obliterate-2.js +327 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/paginate-1.js +110 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/pause-7.js +67 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/promote-9.js +105 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/releaseLock-1.js +25 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeChildDependency-1.js +165 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeJob-2.js +292 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeJobScheduler-3.js +49 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/removeRepeatable-3.js +63 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/reprocessJob-8.js +96 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/retryJob-11.js +193 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/saveStacktrace-1.js +27 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/updateData-1.js +26 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/updateProgress-3.js +46 -0
- package/dist/node_modules/bullmq/dist/cjs/scripts/updateRepeatableJobMillis-1.js +33 -0
- package/dist/node_modules/bullmq/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -0
- package/dist/node_modules/bullmq/dist/cjs/types/backoff-strategy.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/finished-status.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/index.js +12 -0
- package/dist/node_modules/bullmq/dist/cjs/types/job-json-sandbox.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/job-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/job-scheduler-template-options.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/job-type.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/minimal-queue.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/types/repeat-strategy.js +3 -0
- package/dist/node_modules/bullmq/dist/cjs/utils.js +288 -0
- package/dist/node_modules/bullmq/dist/cjs/version.js +5 -0
- package/dist/node_modules/bullmq/dist/esm/classes/async-fifo-queue.d.ts +37 -0
- package/dist/node_modules/bullmq/dist/esm/classes/async-fifo-queue.js +125 -0
- package/dist/node_modules/bullmq/dist/esm/classes/backoffs.d.ts +10 -0
- package/dist/node_modules/bullmq/dist/esm/classes/backoffs.js +44 -0
- package/dist/node_modules/bullmq/dist/esm/classes/child-pool.d.ts +23 -0
- package/dist/node_modules/bullmq/dist/esm/classes/child-pool.js +67 -0
- package/dist/node_modules/bullmq/dist/esm/classes/child-processor.d.ts +37 -0
- package/dist/node_modules/bullmq/dist/esm/classes/child-processor.js +150 -0
- package/dist/node_modules/bullmq/dist/esm/classes/child.d.ts +35 -0
- package/dist/node_modules/bullmq/dist/esm/classes/child.js +206 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/delayed-error.d.ts +11 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/delayed-error.js +16 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/index.d.ts +4 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/index.js +5 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/rate-limit-error.d.ts +10 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/rate-limit-error.js +15 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/unrecoverable-error.d.ts +11 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/unrecoverable-error.js +16 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-children-error.d.ts +11 -0
- package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-children-error.js +16 -0
- package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.d.ts +179 -0
- package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.js +335 -0
- package/dist/node_modules/bullmq/dist/esm/classes/index.d.ts +19 -0
- package/dist/node_modules/bullmq/dist/esm/classes/index.js +22 -0
- package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.d.ts +24 -0
- package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.js +216 -0
- package/dist/node_modules/bullmq/dist/esm/classes/job.d.ts +425 -0
- package/dist/node_modules/bullmq/dist/esm/classes/job.js +889 -0
- package/dist/node_modules/bullmq/dist/esm/classes/main-base.d.ts +4 -0
- package/dist/node_modules/bullmq/dist/esm/classes/main-base.js +42 -0
- package/dist/node_modules/bullmq/dist/esm/classes/main-worker.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/esm/classes/main-worker.js +8 -0
- package/dist/node_modules/bullmq/dist/esm/classes/main.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/esm/classes/main.js +8 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-base.d.ts +83 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-base.js +151 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-events-producer.d.ts +21 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-events-producer.js +38 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-events.d.ts +201 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-events.js +121 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.d.ts +235 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.js +447 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-keys.d.ts +10 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue-keys.js +39 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue.d.ts +406 -0
- package/dist/node_modules/bullmq/dist/esm/classes/queue.js +631 -0
- package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.d.ts +46 -0
- package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.js +266 -0
- package/dist/node_modules/bullmq/dist/esm/classes/repeat.d.ts +25 -0
- package/dist/node_modules/bullmq/dist/esm/classes/repeat.js +199 -0
- package/dist/node_modules/bullmq/dist/esm/classes/sandbox.d.ts +4 -0
- package/dist/node_modules/bullmq/dist/esm/classes/sandbox.js +73 -0
- package/dist/node_modules/bullmq/dist/esm/classes/scripts.d.ts +160 -0
- package/dist/node_modules/bullmq/dist/esm/classes/scripts.js +1031 -0
- package/dist/node_modules/bullmq/dist/esm/classes/worker.d.ts +231 -0
- package/dist/node_modules/bullmq/dist/esm/classes/worker.js +815 -0
- package/dist/node_modules/bullmq/dist/esm/commands/addDelayedJob-6.lua +119 -0
- package/dist/node_modules/bullmq/dist/esm/commands/addJobScheduler-2.lua +91 -0
- package/dist/node_modules/bullmq/dist/esm/commands/addLog-2.lua +30 -0
- package/dist/node_modules/bullmq/dist/esm/commands/addParentJob-4.lua +104 -0
- package/dist/node_modules/bullmq/dist/esm/commands/addPrioritizedJob-8.lua +117 -0
- package/dist/node_modules/bullmq/dist/esm/commands/addRepeatableJob-2.lua +84 -0
- package/dist/node_modules/bullmq/dist/esm/commands/addStandardJob-8.lua +122 -0
- package/dist/node_modules/bullmq/dist/esm/commands/changeDelay-4.lua +55 -0
- package/dist/node_modules/bullmq/dist/esm/commands/changePriority-7.lua +68 -0
- package/dist/node_modules/bullmq/dist/esm/commands/cleanJobsInSet-3.lua +55 -0
- package/dist/node_modules/bullmq/dist/esm/commands/drain-5.lua +41 -0
- package/dist/node_modules/bullmq/dist/esm/commands/extendLock-2.lua +23 -0
- package/dist/node_modules/bullmq/dist/esm/commands/extendLocks-1.lua +44 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getCounts-1.lua +36 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getCountsPerPriority-4.lua +35 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getJobScheduler-1.lua +19 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getRanges-1.lua +70 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getRateLimitTtl-1.lua +20 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getState-8.lua +65 -0
- package/dist/node_modules/bullmq/dist/esm/commands/getStateV2-8.lua +58 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/addBaseMarkerIfNeeded.lua +9 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/addDelayMarkerIfNeeded.lua +15 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobInTargetList.lua +11 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobWithPriority.lua +14 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/batches.lua +18 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/checkItemInList.lua +12 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanList.lua +47 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanSet.lua +66 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/collectMetrics.lua +46 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/deduplicateJob.lua +24 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/destructureJobKey.lua +12 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/findPage.lua +70 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getDelayedScore.lua +25 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getJobsInZset.lua +13 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getNextDelayedTimestamp.lua +12 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getOrSetMaxEvents.lua +11 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getRateLimitTTL.lua +17 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getTargetQueueList.lua +22 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getTimestamp.lua +19 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/getZSetItems.lua +7 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/handleDuplicatedJob.lua +26 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/isLocked.lua +33 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/isQueueMaxed.lua +15 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/isQueuePaused.lua +7 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/isQueuePausedOrMaxed.lua +18 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveJobFromPriorityToActive.lua +13 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +53 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWaitIfNeeded.lua +55 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/prepareJobForProcessing.lua +50 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/promoteDelayedJobs.lua +40 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/pushBackJobWithPriority.lua +9 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKey.lua +11 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJob.lua +17 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobFromAnyState.lua +35 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobKeys.lua +8 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobs.lua +13 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobsByMaxAge.lua +16 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobsByMaxCount.lua +15 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobsOnFail.lua +36 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeListJobs.lua +17 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeLock.lua +19 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeParentDependencyKey.lua +90 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/removeZSetJobs.lua +27 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/storeJob.lua +36 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/trimEvents.lua +15 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/updateExistingJobsParent.lua +27 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/updateJobFields.lua +11 -0
- package/dist/node_modules/bullmq/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +13 -0
- package/dist/node_modules/bullmq/dist/esm/commands/isFinished-3.lua +48 -0
- package/dist/node_modules/bullmq/dist/esm/commands/isJobInList-1.lua +16 -0
- package/dist/node_modules/bullmq/dist/esm/commands/isMaxed-2.lua +17 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveJobFromActiveToWait-10.lua +60 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveJobsToWait-8.lua +73 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveStalledJobsToWait-9.lua +156 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveToActive-11.lua +93 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveToDelayed-8.lua +77 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveToFinished-14.lua +283 -0
- package/dist/node_modules/bullmq/dist/esm/commands/moveToWaitingChildren-5.lua +68 -0
- package/dist/node_modules/bullmq/dist/esm/commands/obliterate-2.lua +118 -0
- package/dist/node_modules/bullmq/dist/esm/commands/paginate-1.lua +49 -0
- package/dist/node_modules/bullmq/dist/esm/commands/pause-7.lua +42 -0
- package/dist/node_modules/bullmq/dist/esm/commands/promote-9.lua +62 -0
- package/dist/node_modules/bullmq/dist/esm/commands/releaseLock-1.lua +19 -0
- package/dist/node_modules/bullmq/dist/esm/commands/removeChildDependency-1.lua +34 -0
- package/dist/node_modules/bullmq/dist/esm/commands/removeJob-2.lua +92 -0
- package/dist/node_modules/bullmq/dist/esm/commands/removeJobScheduler-3.lua +43 -0
- package/dist/node_modules/bullmq/dist/esm/commands/removeRepeatable-3.lua +58 -0
- package/dist/node_modules/bullmq/dist/esm/commands/reprocessJob-8.lua +49 -0
- package/dist/node_modules/bullmq/dist/esm/commands/retryJob-11.lua +82 -0
- package/dist/node_modules/bullmq/dist/esm/commands/saveStacktrace-1.lua +19 -0
- package/dist/node_modules/bullmq/dist/esm/commands/updateData-1.lua +20 -0
- package/dist/node_modules/bullmq/dist/esm/commands/updateProgress-3.lua +33 -0
- package/dist/node_modules/bullmq/dist/esm/commands/updateRepeatableJobMillis-1.lua +28 -0
- package/dist/node_modules/bullmq/dist/esm/enums/child-command.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/enums/child-command.js +7 -0
- package/dist/node_modules/bullmq/dist/esm/enums/error-code.d.ts +10 -0
- package/dist/node_modules/bullmq/dist/esm/enums/error-code.js +12 -0
- package/dist/node_modules/bullmq/dist/esm/enums/index.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/enums/index.js +6 -0
- package/dist/node_modules/bullmq/dist/esm/enums/metrics-time.d.ts +10 -0
- package/dist/node_modules/bullmq/dist/esm/enums/metrics-time.js +12 -0
- package/dist/node_modules/bullmq/dist/esm/enums/parent-command.d.ts +11 -0
- package/dist/node_modules/bullmq/dist/esm/enums/parent-command.js +13 -0
- package/dist/node_modules/bullmq/dist/esm/enums/telemetry-attributes.d.ts +42 -0
- package/dist/node_modules/bullmq/dist/esm/enums/telemetry-attributes.js +45 -0
- package/dist/node_modules/bullmq/dist/esm/index.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/index.js +6 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/advanced-options.d.ts +18 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/advanced-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/backoff-options.d.ts +15 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/backoff-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/base-job-options.d.ts +100 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/base-job-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/child-message.d.ts +6 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/child-message.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/connection.d.ts +8 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/connection.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.d.ts +13 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/flow-job.d.ts +19 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/flow-job.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/index.d.ts +28 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/index.js +29 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/ioredis-events.d.ts +8 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/ioredis-events.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/job-json.d.ts +47 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/job-json.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/job-scheduler-json.d.ts +16 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/job-scheduler-json.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/keep-jobs.d.ts +17 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/keep-jobs.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/metrics-options.d.ts +12 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/metrics-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/metrics.d.ts +9 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/metrics.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/minimal-job.d.ts +133 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/minimal-job.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/parent-message.d.ts +8 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/parent-message.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/parent.d.ts +20 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/parent.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/queue-options.d.ts +97 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/queue-options.js +6 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/rate-limiter-options.d.ts +12 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/rate-limiter-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/redis-options.d.ts +8 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/redis-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/redis-streams.d.ts +4 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/redis-streams.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeat-options.d.ts +51 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeat-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-job.d.ts +10 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-job.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-options.d.ts +7 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job-processor.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job-processor.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job.d.ts +13 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-options.d.ts +28 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/telemetry.d.ts +150 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/telemetry.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/worker-options.d.ts +133 -0
- package/dist/node_modules/bullmq/dist/esm/interfaces/worker-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addDelayedJob-6.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addDelayedJob-6.js +370 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-2.js +234 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addLog-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addLog-2.js +30 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addParentJob-4.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addParentJob-4.js +337 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addPrioritizedJob-8.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addPrioritizedJob-8.js +347 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addRepeatableJob-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addRepeatableJob-2.js +227 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addStandardJob-8.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/addStandardJob-8.js +351 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/changeDelay-4.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/changeDelay-4.js +104 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/changePriority-7.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/changePriority-7.js +119 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/cleanJobsInSet-3.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/cleanJobsInSet-3.js +347 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/drain-5.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/drain-5.js +255 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/extendLock-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/extendLock-2.js +27 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/extendLocks-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/extendLocks-1.js +43 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getCounts-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getCounts-1.js +39 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getCountsPerPriority-4.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getCountsPerPriority-4.js +43 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getJobScheduler-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getJobScheduler-1.js +20 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getRanges-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getRanges-1.js +70 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getRateLimitTtl-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getRateLimitTtl-1.js +36 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getState-8.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getState-8.js +70 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getStateV2-8.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/getStateV2-8.js +54 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/index.d.ts +45 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/index.js +46 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/isFinished-3.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/isFinished-3.js +46 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/isJobInList-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/isJobInList-1.js +29 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/isMaxed-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/isMaxed-2.js +31 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveJobFromActiveToWait-10.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveJobFromActiveToWait-10.js +107 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveJobsToWait-8.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveJobsToWait-8.js +115 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-9.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-9.js +526 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToActive-11.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToActive-11.js +230 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToDelayed-8.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToDelayed-8.js +153 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToFinished-14.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToFinished-14.js +795 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-5.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-5.js +80 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/obliterate-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/obliterate-2.js +324 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/paginate-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/paginate-1.js +107 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/pause-7.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/pause-7.js +64 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/promote-9.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/promote-9.js +102 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/releaseLock-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/releaseLock-1.js +22 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeChildDependency-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeChildDependency-1.js +162 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeJob-2.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeJob-2.js +289 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeJobScheduler-3.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeJobScheduler-3.js +46 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeRepeatable-3.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/removeRepeatable-3.js +60 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/reprocessJob-8.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/reprocessJob-8.js +93 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/retryJob-11.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/retryJob-11.js +190 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/saveStacktrace-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/saveStacktrace-1.js +24 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateData-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateData-1.js +23 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateProgress-3.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateProgress-3.js +43 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateRepeatableJobMillis-1.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/scripts/updateRepeatableJobMillis-1.js +30 -0
- package/dist/node_modules/bullmq/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/node_modules/bullmq/dist/esm/types/backoff-strategy.d.ts +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/backoff-strategy.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/finished-status.d.ts +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/finished-status.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/index.d.ts +8 -0
- package/dist/node_modules/bullmq/dist/esm/types/index.js +9 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-json-sandbox.d.ts +5 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-json-sandbox.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-options.d.ts +81 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-scheduler-template-options.d.ts +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-scheduler-template-options.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-type.d.ts +3 -0
- package/dist/node_modules/bullmq/dist/esm/types/job-type.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/minimal-queue.d.ts +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/minimal-queue.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/repeat-strategy.d.ts +2 -0
- package/dist/node_modules/bullmq/dist/esm/types/repeat-strategy.js +2 -0
- package/dist/node_modules/bullmq/dist/esm/utils.d.ts +72 -0
- package/dist/node_modules/bullmq/dist/esm/utils.js +263 -0
- package/dist/node_modules/bullmq/dist/esm/version.d.ts +1 -0
- package/dist/node_modules/bullmq/dist/esm/version.js +2 -0
- package/dist/node_modules/bullmq/node_modules/.bin/semver +17 -0
- package/dist/node_modules/bullmq/node_modules/.bin/uuid +17 -0
- package/dist/node_modules/bullmq/package.json +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +33 -0
- package/dist/server/plugin.d.ts +11 -0
- package/dist/server/plugin.js +63 -0
- package/package.json +18 -0
- package/server.d.ts +2 -0
- package/server.js +1 -0
|
@@ -0,0 +1,889 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { debuglog } from 'util';
|
|
3
|
+
import { errorObject, isEmpty, getParentKey, lengthInUtf8Bytes, parseObjectValues, tryCatch, removeUndefinedFields, invertObject, } from '../utils';
|
|
4
|
+
import { Backoffs } from './backoffs';
|
|
5
|
+
import { Scripts } from './scripts';
|
|
6
|
+
import { UnrecoverableError } from './errors/unrecoverable-error';
|
|
7
|
+
import { SpanKind } from '../enums';
|
|
8
|
+
const logger = debuglog('bull');
|
|
9
|
+
// Simple options decode map.
|
|
10
|
+
const optsDecodeMap = {
|
|
11
|
+
de: 'deduplication',
|
|
12
|
+
fpof: 'failParentOnFailure',
|
|
13
|
+
idof: 'ignoreDependencyOnFailure',
|
|
14
|
+
kl: 'keepLogs',
|
|
15
|
+
rdof: 'removeDependencyOnFailure',
|
|
16
|
+
};
|
|
17
|
+
const optsEncodeMap = Object.assign(Object.assign({}, invertObject(optsDecodeMap)), {
|
|
18
|
+
/*/ Legacy for backwards compatibility */ debounce: 'de' });
|
|
19
|
+
export const PRIORITY_LIMIT = 2 ** 21;
|
|
20
|
+
/**
|
|
21
|
+
* Job
|
|
22
|
+
*
|
|
23
|
+
* This class represents a Job in the queue. Normally job are implicitly created when
|
|
24
|
+
* you add a job to the queue with methods such as Queue.addJob( ... )
|
|
25
|
+
*
|
|
26
|
+
* A Job instance is also passed to the Worker's process function.
|
|
27
|
+
*
|
|
28
|
+
* @class Job
|
|
29
|
+
*/
|
|
30
|
+
export class Job {
|
|
31
|
+
constructor(queue,
|
|
32
|
+
/**
|
|
33
|
+
* The name of the Job
|
|
34
|
+
*/
|
|
35
|
+
name,
|
|
36
|
+
/**
|
|
37
|
+
* The payload for this job.
|
|
38
|
+
*/
|
|
39
|
+
data,
|
|
40
|
+
/**
|
|
41
|
+
* The options object for this job.
|
|
42
|
+
*/
|
|
43
|
+
opts = {}, id) {
|
|
44
|
+
this.queue = queue;
|
|
45
|
+
this.name = name;
|
|
46
|
+
this.data = data;
|
|
47
|
+
this.opts = opts;
|
|
48
|
+
this.id = id;
|
|
49
|
+
/**
|
|
50
|
+
* The progress a job has performed so far.
|
|
51
|
+
* @defaultValue 0
|
|
52
|
+
*/
|
|
53
|
+
this.progress = 0;
|
|
54
|
+
/**
|
|
55
|
+
* The value returned by the processor when processing this job.
|
|
56
|
+
* @defaultValue null
|
|
57
|
+
*/
|
|
58
|
+
this.returnvalue = null;
|
|
59
|
+
/**
|
|
60
|
+
* Stacktrace for the error (for failed jobs).
|
|
61
|
+
* @defaultValue null
|
|
62
|
+
*/
|
|
63
|
+
this.stacktrace = null;
|
|
64
|
+
/**
|
|
65
|
+
* An amount of milliseconds to wait until this job can be processed.
|
|
66
|
+
* @defaultValue 0
|
|
67
|
+
*/
|
|
68
|
+
this.delay = 0;
|
|
69
|
+
/**
|
|
70
|
+
* Ranges from 0 (highest priority) to 2 097 152 (lowest priority). Note that
|
|
71
|
+
* using priorities has a slight impact on performance,
|
|
72
|
+
* so do not use it if not required.
|
|
73
|
+
* @defaultValue 0
|
|
74
|
+
*/
|
|
75
|
+
this.priority = 0;
|
|
76
|
+
/**
|
|
77
|
+
* Number of attempts when job is moved to active.
|
|
78
|
+
* @defaultValue 0
|
|
79
|
+
*/
|
|
80
|
+
this.attemptsStarted = 0;
|
|
81
|
+
/**
|
|
82
|
+
* Number of attempts after the job has failed.
|
|
83
|
+
* @defaultValue 0
|
|
84
|
+
*/
|
|
85
|
+
this.attemptsMade = 0;
|
|
86
|
+
const _a = this.opts, { repeatJobKey } = _a, restOpts = __rest(_a, ["repeatJobKey"]);
|
|
87
|
+
this.opts = Object.assign({
|
|
88
|
+
attempts: 0,
|
|
89
|
+
}, restOpts);
|
|
90
|
+
this.delay = this.opts.delay;
|
|
91
|
+
this.priority = this.opts.priority || 0;
|
|
92
|
+
this.repeatJobKey = repeatJobKey;
|
|
93
|
+
this.timestamp = opts.timestamp ? opts.timestamp : Date.now();
|
|
94
|
+
this.opts.backoff = Backoffs.normalize(opts.backoff);
|
|
95
|
+
this.parentKey = getParentKey(opts.parent);
|
|
96
|
+
this.parent = opts.parent
|
|
97
|
+
? { id: opts.parent.id, queueKey: opts.parent.queue }
|
|
98
|
+
: undefined;
|
|
99
|
+
this.debounceId = opts.debounce ? opts.debounce.id : undefined;
|
|
100
|
+
this.deduplicationId = opts.deduplication
|
|
101
|
+
? opts.deduplication.id
|
|
102
|
+
: this.debounceId;
|
|
103
|
+
this.toKey = queue.toKey.bind(queue);
|
|
104
|
+
this.setScripts();
|
|
105
|
+
this.queueQualifiedName = queue.qualifiedName;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Creates a new job and adds it to the queue.
|
|
109
|
+
*
|
|
110
|
+
* @param queue - the queue where to add the job.
|
|
111
|
+
* @param name - the name of the job.
|
|
112
|
+
* @param data - the payload of the job.
|
|
113
|
+
* @param opts - the options bag for this job.
|
|
114
|
+
* @returns
|
|
115
|
+
*/
|
|
116
|
+
static async create(queue, name, data, opts) {
|
|
117
|
+
const client = await queue.client;
|
|
118
|
+
const job = new this(queue, name, data, opts, opts && opts.jobId);
|
|
119
|
+
job.id = await job.addJob(client, {
|
|
120
|
+
parentKey: job.parentKey,
|
|
121
|
+
parentDependenciesKey: job.parentKey
|
|
122
|
+
? `${job.parentKey}:dependencies`
|
|
123
|
+
: '',
|
|
124
|
+
});
|
|
125
|
+
return job;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Creates a bulk of jobs and adds them atomically to the given queue.
|
|
129
|
+
*
|
|
130
|
+
* @param queue -the queue were to add the jobs.
|
|
131
|
+
* @param jobs - an array of jobs to be added to the queue.
|
|
132
|
+
* @returns
|
|
133
|
+
*/
|
|
134
|
+
static async createBulk(queue, jobs) {
|
|
135
|
+
const client = await queue.client;
|
|
136
|
+
const jobInstances = jobs.map(job => { var _a; return new this(queue, job.name, job.data, job.opts, (_a = job.opts) === null || _a === void 0 ? void 0 : _a.jobId); });
|
|
137
|
+
const pipeline = client.pipeline();
|
|
138
|
+
for (const job of jobInstances) {
|
|
139
|
+
job.addJob(pipeline, {
|
|
140
|
+
parentKey: job.parentKey,
|
|
141
|
+
parentDependenciesKey: job.parentKey
|
|
142
|
+
? `${job.parentKey}:dependencies`
|
|
143
|
+
: '',
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
const results = (await pipeline.exec());
|
|
147
|
+
for (let index = 0; index < results.length; ++index) {
|
|
148
|
+
const [err, id] = results[index];
|
|
149
|
+
if (err) {
|
|
150
|
+
throw err;
|
|
151
|
+
}
|
|
152
|
+
jobInstances[index].id = id;
|
|
153
|
+
}
|
|
154
|
+
return jobInstances;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Instantiates a Job from a JobJsonRaw object (coming from a deserialized JSON object)
|
|
158
|
+
*
|
|
159
|
+
* @param queue - the queue where the job belongs to.
|
|
160
|
+
* @param json - the plain object containing the job.
|
|
161
|
+
* @param jobId - an optional job id (overrides the id coming from the JSON object)
|
|
162
|
+
* @returns
|
|
163
|
+
*/
|
|
164
|
+
static fromJSON(queue, json, jobId) {
|
|
165
|
+
const data = JSON.parse(json.data || '{}');
|
|
166
|
+
const opts = Job.optsFromJSON(json.opts);
|
|
167
|
+
const job = new this(queue, json.name, data, opts, json.id || jobId);
|
|
168
|
+
job.progress = JSON.parse(json.progress || '0');
|
|
169
|
+
job.delay = parseInt(json.delay);
|
|
170
|
+
job.timestamp = parseInt(json.timestamp);
|
|
171
|
+
if (json.finishedOn) {
|
|
172
|
+
job.finishedOn = parseInt(json.finishedOn);
|
|
173
|
+
}
|
|
174
|
+
if (json.processedOn) {
|
|
175
|
+
job.processedOn = parseInt(json.processedOn);
|
|
176
|
+
}
|
|
177
|
+
if (json.rjk) {
|
|
178
|
+
job.repeatJobKey = json.rjk;
|
|
179
|
+
}
|
|
180
|
+
if (json.deid) {
|
|
181
|
+
job.debounceId = json.deid;
|
|
182
|
+
job.deduplicationId = json.deid;
|
|
183
|
+
}
|
|
184
|
+
job.failedReason = json.failedReason;
|
|
185
|
+
job.attemptsStarted = parseInt(json.ats || '0');
|
|
186
|
+
job.attemptsMade = parseInt(json.attemptsMade || json.atm || '0');
|
|
187
|
+
job.stacktrace = getTraces(json.stacktrace);
|
|
188
|
+
if (typeof json.returnvalue === 'string') {
|
|
189
|
+
job.returnvalue = getReturnValue(json.returnvalue);
|
|
190
|
+
}
|
|
191
|
+
if (json.parentKey) {
|
|
192
|
+
job.parentKey = json.parentKey;
|
|
193
|
+
}
|
|
194
|
+
if (json.parent) {
|
|
195
|
+
job.parent = JSON.parse(json.parent);
|
|
196
|
+
}
|
|
197
|
+
if (json.pb) {
|
|
198
|
+
job.processedBy = json.pb;
|
|
199
|
+
}
|
|
200
|
+
if (json.nrjid) {
|
|
201
|
+
job.nextRepeatableJobId = json.nrjid;
|
|
202
|
+
}
|
|
203
|
+
return job;
|
|
204
|
+
}
|
|
205
|
+
setScripts() {
|
|
206
|
+
this.scripts = new Scripts(this.queue);
|
|
207
|
+
}
|
|
208
|
+
static optsFromJSON(rawOpts) {
|
|
209
|
+
const opts = JSON.parse(rawOpts || '{}');
|
|
210
|
+
const optionEntries = Object.entries(opts);
|
|
211
|
+
const options = {};
|
|
212
|
+
for (const item of optionEntries) {
|
|
213
|
+
const [attributeName, value] = item;
|
|
214
|
+
if (optsDecodeMap[attributeName]) {
|
|
215
|
+
options[optsDecodeMap[attributeName]] =
|
|
216
|
+
value;
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
if (attributeName === 'tm') {
|
|
220
|
+
options.telemetry = Object.assign(Object.assign({}, options.telemetry), { metadata: value });
|
|
221
|
+
}
|
|
222
|
+
else if (attributeName === 'omc') {
|
|
223
|
+
options.telemetry = Object.assign(Object.assign({}, options.telemetry), { omitContext: value });
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
options[attributeName] = value;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
return options;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Fetches a Job from the queue given the passed job id.
|
|
234
|
+
*
|
|
235
|
+
* @param queue - the queue where the job belongs to.
|
|
236
|
+
* @param jobId - the job id.
|
|
237
|
+
* @returns
|
|
238
|
+
*/
|
|
239
|
+
static async fromId(queue, jobId) {
|
|
240
|
+
// jobId can be undefined if moveJob returns undefined
|
|
241
|
+
if (jobId) {
|
|
242
|
+
const client = await queue.client;
|
|
243
|
+
const jobData = await client.hgetall(queue.toKey(jobId));
|
|
244
|
+
return isEmpty(jobData)
|
|
245
|
+
? undefined
|
|
246
|
+
: this.fromJSON(queue, jobData, jobId);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* addJobLog
|
|
251
|
+
*
|
|
252
|
+
* @param queue Queue instance
|
|
253
|
+
* @param jobId Job id
|
|
254
|
+
* @param logRow Log row
|
|
255
|
+
* @param keepLogs optional maximum number of logs to keep
|
|
256
|
+
*
|
|
257
|
+
* @returns The total number of log entries for this job so far.
|
|
258
|
+
*/
|
|
259
|
+
static addJobLog(queue, jobId, logRow, keepLogs) {
|
|
260
|
+
const scripts = queue.scripts;
|
|
261
|
+
return scripts.addLog(jobId, logRow, keepLogs);
|
|
262
|
+
}
|
|
263
|
+
toJSON() {
|
|
264
|
+
const _a = this, { queue, scripts } = _a, withoutQueueAndScripts = __rest(_a, ["queue", "scripts"]);
|
|
265
|
+
return withoutQueueAndScripts;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Prepares a job to be serialized for storage in Redis.
|
|
269
|
+
* @returns
|
|
270
|
+
*/
|
|
271
|
+
asJSON() {
|
|
272
|
+
return removeUndefinedFields({
|
|
273
|
+
id: this.id,
|
|
274
|
+
name: this.name,
|
|
275
|
+
data: JSON.stringify(typeof this.data === 'undefined' ? {} : this.data),
|
|
276
|
+
opts: Job.optsAsJSON(this.opts),
|
|
277
|
+
parent: this.parent ? Object.assign({}, this.parent) : undefined,
|
|
278
|
+
parentKey: this.parentKey,
|
|
279
|
+
progress: this.progress,
|
|
280
|
+
attemptsMade: this.attemptsMade,
|
|
281
|
+
attemptsStarted: this.attemptsStarted,
|
|
282
|
+
finishedOn: this.finishedOn,
|
|
283
|
+
processedOn: this.processedOn,
|
|
284
|
+
timestamp: this.timestamp,
|
|
285
|
+
failedReason: JSON.stringify(this.failedReason),
|
|
286
|
+
stacktrace: JSON.stringify(this.stacktrace),
|
|
287
|
+
debounceId: this.debounceId,
|
|
288
|
+
deduplicationId: this.deduplicationId,
|
|
289
|
+
repeatJobKey: this.repeatJobKey,
|
|
290
|
+
returnvalue: JSON.stringify(this.returnvalue),
|
|
291
|
+
nrjid: this.nextRepeatableJobId,
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
static optsAsJSON(opts = {}) {
|
|
295
|
+
const optionEntries = Object.entries(opts);
|
|
296
|
+
const options = {};
|
|
297
|
+
for (const [attributeName, value] of optionEntries) {
|
|
298
|
+
if (typeof value === 'undefined') {
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
if (attributeName in optsEncodeMap) {
|
|
302
|
+
const compressableAttribute = attributeName;
|
|
303
|
+
const key = optsEncodeMap[compressableAttribute];
|
|
304
|
+
options[key] = value;
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
// Handle complex compressable fields separately
|
|
308
|
+
if (attributeName === 'telemetry') {
|
|
309
|
+
options.tm = value.metadata;
|
|
310
|
+
options.omc = value.omitContext;
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
options[attributeName] = value;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
return options;
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Prepares a job to be passed to Sandbox.
|
|
321
|
+
* @returns
|
|
322
|
+
*/
|
|
323
|
+
asJSONSandbox() {
|
|
324
|
+
return Object.assign(Object.assign({}, this.asJSON()), { queueName: this.queueName, prefix: this.prefix });
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Updates a job's data
|
|
328
|
+
*
|
|
329
|
+
* @param data - the data that will replace the current jobs data.
|
|
330
|
+
*/
|
|
331
|
+
updateData(data) {
|
|
332
|
+
this.data = data;
|
|
333
|
+
return this.scripts.updateData(this, data);
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Updates a job's progress
|
|
337
|
+
*
|
|
338
|
+
* @param progress - number or object to be saved as progress.
|
|
339
|
+
*/
|
|
340
|
+
async updateProgress(progress) {
|
|
341
|
+
this.progress = progress;
|
|
342
|
+
await this.scripts.updateProgress(this.id, progress);
|
|
343
|
+
this.queue.emit('progress', this, progress);
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Logs one row of log data.
|
|
347
|
+
*
|
|
348
|
+
* @param logRow - string with log data to be logged.
|
|
349
|
+
* @returns The total number of log entries for this job so far.
|
|
350
|
+
*/
|
|
351
|
+
async log(logRow) {
|
|
352
|
+
return Job.addJobLog(this.queue, this.id, logRow, this.opts.keepLogs);
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Removes child dependency from parent when child is not yet finished
|
|
356
|
+
*
|
|
357
|
+
* @returns True if the relationship existed and if it was removed.
|
|
358
|
+
*/
|
|
359
|
+
async removeChildDependency() {
|
|
360
|
+
const childDependencyIsRemoved = await this.scripts.removeChildDependency(this.id, this.parentKey);
|
|
361
|
+
if (childDependencyIsRemoved) {
|
|
362
|
+
this.parent = undefined;
|
|
363
|
+
this.parentKey = undefined;
|
|
364
|
+
return true;
|
|
365
|
+
}
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Clears job's logs
|
|
370
|
+
*
|
|
371
|
+
* @param keepLogs - the amount of log entries to preserve
|
|
372
|
+
*/
|
|
373
|
+
async clearLogs(keepLogs) {
|
|
374
|
+
const client = await this.queue.client;
|
|
375
|
+
const logsKey = this.toKey(this.id) + ':logs';
|
|
376
|
+
if (keepLogs) {
|
|
377
|
+
await client.ltrim(logsKey, -keepLogs, -1);
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
await client.del(logsKey);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Completely remove the job from the queue.
|
|
385
|
+
* Note, this call will throw an exception if the job
|
|
386
|
+
* is being processed when the call is performed.
|
|
387
|
+
*
|
|
388
|
+
* @param opts - Options to remove a job
|
|
389
|
+
*/
|
|
390
|
+
async remove({ removeChildren = true } = {}) {
|
|
391
|
+
await this.queue.waitUntilReady();
|
|
392
|
+
const queue = this.queue;
|
|
393
|
+
const job = this;
|
|
394
|
+
const removed = await this.scripts.remove(job.id, removeChildren);
|
|
395
|
+
if (removed) {
|
|
396
|
+
queue.emit('removed', job);
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
throw new Error(`Job ${this.id} could not be removed because it is locked by another worker`);
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Extend the lock for this job.
|
|
404
|
+
*
|
|
405
|
+
* @param token - unique token for the lock
|
|
406
|
+
* @param duration - lock duration in milliseconds
|
|
407
|
+
*/
|
|
408
|
+
extendLock(token, duration) {
|
|
409
|
+
return this.scripts.extendLock(this.id, token, duration);
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Moves a job to the completed queue.
|
|
413
|
+
* Returned job to be used with Queue.prototype.nextJobFromJobData.
|
|
414
|
+
*
|
|
415
|
+
* @param returnValue - The jobs success message.
|
|
416
|
+
* @param token - Worker token used to acquire completed job.
|
|
417
|
+
* @param fetchNext - True when wanting to fetch the next job.
|
|
418
|
+
* @returns Returns the jobData of the next job in the waiting queue or void.
|
|
419
|
+
*/
|
|
420
|
+
async moveToCompleted(returnValue, token, fetchNext = true) {
|
|
421
|
+
await this.queue.waitUntilReady();
|
|
422
|
+
this.returnvalue = returnValue || void 0;
|
|
423
|
+
const stringifiedReturnValue = tryCatch(JSON.stringify, JSON, [
|
|
424
|
+
returnValue,
|
|
425
|
+
]);
|
|
426
|
+
if (stringifiedReturnValue === errorObject) {
|
|
427
|
+
throw errorObject.value;
|
|
428
|
+
}
|
|
429
|
+
const args = this.scripts.moveToCompletedArgs(this, stringifiedReturnValue, this.opts.removeOnComplete, token, fetchNext);
|
|
430
|
+
const result = await this.scripts.moveToFinished(this.id, args);
|
|
431
|
+
this.finishedOn = args[this.scripts.moveToFinishedKeys.length + 1];
|
|
432
|
+
this.attemptsMade += 1;
|
|
433
|
+
return result;
|
|
434
|
+
}
|
|
435
|
+
async shouldRetryJob(err) {
|
|
436
|
+
if (this.attemptsMade + 1 < this.opts.attempts &&
|
|
437
|
+
!this.discarded &&
|
|
438
|
+
!(err instanceof UnrecoverableError || err.name == 'UnrecoverableError')) {
|
|
439
|
+
const opts = this.queue.opts;
|
|
440
|
+
const delay = await Backoffs.calculate(this.opts.backoff, this.attemptsMade + 1, err, this, opts.settings && opts.settings.backoffStrategy);
|
|
441
|
+
return [delay == -1 ? false : true, delay == -1 ? 0 : delay];
|
|
442
|
+
}
|
|
443
|
+
else {
|
|
444
|
+
return [false, 0];
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Moves a job to the failed queue.
|
|
449
|
+
*
|
|
450
|
+
* @param err - the jobs error message.
|
|
451
|
+
* @param token - token to check job is locked by current worker
|
|
452
|
+
* @param fetchNext - true when wanting to fetch the next job
|
|
453
|
+
* @returns Returns the jobData of the next job in the waiting queue or void.
|
|
454
|
+
*/
|
|
455
|
+
async moveToFailed(err, token, fetchNext = false) {
|
|
456
|
+
this.failedReason = err === null || err === void 0 ? void 0 : err.message;
|
|
457
|
+
return this.queue.trace(SpanKind.INTERNAL, this.getSpanOperation('moveToFailed'), this.queue.name, async (span, dstPropagationMedatadata) => {
|
|
458
|
+
var _a, _b;
|
|
459
|
+
let tm;
|
|
460
|
+
if (!((_b = (_a = this.opts) === null || _a === void 0 ? void 0 : _a.telemetry) === null || _b === void 0 ? void 0 : _b.omitContext) && dstPropagationMedatadata) {
|
|
461
|
+
tm = dstPropagationMedatadata;
|
|
462
|
+
}
|
|
463
|
+
let result;
|
|
464
|
+
this.updateStacktrace(err);
|
|
465
|
+
const fieldsToUpdate = {
|
|
466
|
+
failedReason: this.failedReason,
|
|
467
|
+
stacktrace: JSON.stringify(this.stacktrace),
|
|
468
|
+
tm,
|
|
469
|
+
};
|
|
470
|
+
//
|
|
471
|
+
// Check if an automatic retry should be performed
|
|
472
|
+
//
|
|
473
|
+
let finishedOn;
|
|
474
|
+
const [shouldRetry, retryDelay] = await this.shouldRetryJob(err);
|
|
475
|
+
if (shouldRetry) {
|
|
476
|
+
if (retryDelay) {
|
|
477
|
+
// Retry with delay
|
|
478
|
+
result = await this.scripts.moveToDelayed(this.id, Date.now(), retryDelay, token, { fieldsToUpdate });
|
|
479
|
+
}
|
|
480
|
+
else {
|
|
481
|
+
// Retry immediately
|
|
482
|
+
result = await this.scripts.retryJob(this.id, this.opts.lifo, token, {
|
|
483
|
+
fieldsToUpdate,
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
else {
|
|
488
|
+
const args = this.scripts.moveToFailedArgs(this, this.failedReason, this.opts.removeOnFail, token, fetchNext, fieldsToUpdate);
|
|
489
|
+
result = await this.scripts.moveToFinished(this.id, args);
|
|
490
|
+
finishedOn = args[this.scripts.moveToFinishedKeys.length + 1];
|
|
491
|
+
}
|
|
492
|
+
if (finishedOn && typeof finishedOn === 'number') {
|
|
493
|
+
this.finishedOn = finishedOn;
|
|
494
|
+
}
|
|
495
|
+
if (retryDelay && typeof retryDelay === 'number') {
|
|
496
|
+
this.delay = retryDelay;
|
|
497
|
+
}
|
|
498
|
+
this.attemptsMade += 1;
|
|
499
|
+
return result;
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
getSpanOperation(command) {
|
|
503
|
+
switch (command) {
|
|
504
|
+
case 'moveToDelayed':
|
|
505
|
+
return 'delay';
|
|
506
|
+
case 'retryJob':
|
|
507
|
+
return 'retry';
|
|
508
|
+
case 'moveToFinished':
|
|
509
|
+
return 'fail';
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* @returns true if the job has completed.
|
|
514
|
+
*/
|
|
515
|
+
isCompleted() {
|
|
516
|
+
return this.isInZSet('completed');
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* @returns true if the job has failed.
|
|
520
|
+
*/
|
|
521
|
+
isFailed() {
|
|
522
|
+
return this.isInZSet('failed');
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* @returns true if the job is delayed.
|
|
526
|
+
*/
|
|
527
|
+
isDelayed() {
|
|
528
|
+
return this.isInZSet('delayed');
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* @returns true if the job is waiting for children.
|
|
532
|
+
*/
|
|
533
|
+
isWaitingChildren() {
|
|
534
|
+
return this.isInZSet('waiting-children');
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* @returns true of the job is active.
|
|
538
|
+
*/
|
|
539
|
+
isActive() {
|
|
540
|
+
return this.isInList('active');
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* @returns true if the job is waiting.
|
|
544
|
+
*/
|
|
545
|
+
async isWaiting() {
|
|
546
|
+
return (await this.isInList('wait')) || (await this.isInList('paused'));
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* @returns the queue name this job belongs to.
|
|
550
|
+
*/
|
|
551
|
+
get queueName() {
|
|
552
|
+
return this.queue.name;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* @returns the prefix that is used.
|
|
556
|
+
*/
|
|
557
|
+
get prefix() {
|
|
558
|
+
return this.queue.opts.prefix;
|
|
559
|
+
}
|
|
560
|
+
/**
|
|
561
|
+
* Get current state.
|
|
562
|
+
*
|
|
563
|
+
* @returns Returns one of these values:
|
|
564
|
+
* 'completed', 'failed', 'delayed', 'active', 'waiting', 'waiting-children', 'unknown'.
|
|
565
|
+
*/
|
|
566
|
+
getState() {
|
|
567
|
+
return this.scripts.getState(this.id);
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Change delay of a delayed job.
|
|
571
|
+
*
|
|
572
|
+
* @param delay - milliseconds to be added to current time.
|
|
573
|
+
* @returns void
|
|
574
|
+
*/
|
|
575
|
+
async changeDelay(delay) {
|
|
576
|
+
await this.scripts.changeDelay(this.id, delay);
|
|
577
|
+
this.delay = delay;
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* Change job priority.
|
|
581
|
+
*
|
|
582
|
+
* @param opts - options containing priority and lifo values.
|
|
583
|
+
* @returns void
|
|
584
|
+
*/
|
|
585
|
+
async changePriority(opts) {
|
|
586
|
+
await this.scripts.changePriority(this.id, opts.priority, opts.lifo);
|
|
587
|
+
this.priority = opts.priority || 0;
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Get this jobs children result values if any.
|
|
591
|
+
*
|
|
592
|
+
* @returns Object mapping children job keys with their values.
|
|
593
|
+
*/
|
|
594
|
+
async getChildrenValues() {
|
|
595
|
+
const client = await this.queue.client;
|
|
596
|
+
const result = (await client.hgetall(this.toKey(`${this.id}:processed`)));
|
|
597
|
+
if (result) {
|
|
598
|
+
return parseObjectValues(result);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
/**
|
|
602
|
+
* Get this jobs children failure values if any.
|
|
603
|
+
*
|
|
604
|
+
* @returns Object mapping children job keys with their failure values.
|
|
605
|
+
*/
|
|
606
|
+
async getFailedChildrenValues() {
|
|
607
|
+
const client = await this.queue.client;
|
|
608
|
+
return client.hgetall(this.toKey(`${this.id}:failed`));
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Get children job keys if this job is a parent and has children.
|
|
612
|
+
* @remarks
|
|
613
|
+
* Count options before Redis v7.2 works as expected with any quantity of entries
|
|
614
|
+
* on processed/unprocessed dependencies, since v7.2 you must consider that count
|
|
615
|
+
* won't have any effect until processed/unprocessed dependencies have a length
|
|
616
|
+
* greater than 127
|
|
617
|
+
* @see https://redis.io/docs/management/optimization/memory-optimization/#redis--72
|
|
618
|
+
* @returns dependencies separated by processed and unprocessed.
|
|
619
|
+
*/
|
|
620
|
+
async getDependencies(opts = {}) {
|
|
621
|
+
const client = await this.queue.client;
|
|
622
|
+
const multi = client.multi();
|
|
623
|
+
if (!opts.processed && !opts.unprocessed) {
|
|
624
|
+
multi.hgetall(this.toKey(`${this.id}:processed`));
|
|
625
|
+
multi.smembers(this.toKey(`${this.id}:dependencies`));
|
|
626
|
+
const [[err1, processed], [err2, unprocessed]] = (await multi.exec());
|
|
627
|
+
const transformedProcessed = parseObjectValues(processed);
|
|
628
|
+
return { processed: transformedProcessed, unprocessed };
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
const defaultOpts = {
|
|
632
|
+
cursor: 0,
|
|
633
|
+
count: 20,
|
|
634
|
+
};
|
|
635
|
+
if (opts.processed) {
|
|
636
|
+
const processedOpts = Object.assign(Object.assign({}, defaultOpts), opts.processed);
|
|
637
|
+
multi.hscan(this.toKey(`${this.id}:processed`), processedOpts.cursor, 'COUNT', processedOpts.count);
|
|
638
|
+
}
|
|
639
|
+
if (opts.unprocessed) {
|
|
640
|
+
const unprocessedOpts = Object.assign(Object.assign({}, defaultOpts), opts.unprocessed);
|
|
641
|
+
multi.sscan(this.toKey(`${this.id}:dependencies`), unprocessedOpts.cursor, 'COUNT', unprocessedOpts.count);
|
|
642
|
+
}
|
|
643
|
+
const [result1, result2] = (await multi.exec());
|
|
644
|
+
const [processedCursor, processed = []] = opts.processed
|
|
645
|
+
? result1[1]
|
|
646
|
+
: [];
|
|
647
|
+
const [unprocessedCursor, unprocessed = []] = opts.unprocessed
|
|
648
|
+
? opts.processed
|
|
649
|
+
? result2[1]
|
|
650
|
+
: result1[1]
|
|
651
|
+
: [];
|
|
652
|
+
const transformedProcessed = {};
|
|
653
|
+
for (let index = 0; index < processed.length; ++index) {
|
|
654
|
+
if (index % 2) {
|
|
655
|
+
transformedProcessed[processed[index - 1]] = JSON.parse(processed[index]);
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
return Object.assign(Object.assign({}, (processedCursor
|
|
659
|
+
? {
|
|
660
|
+
processed: transformedProcessed,
|
|
661
|
+
nextProcessedCursor: Number(processedCursor),
|
|
662
|
+
}
|
|
663
|
+
: {})), (unprocessedCursor
|
|
664
|
+
? { unprocessed, nextUnprocessedCursor: Number(unprocessedCursor) }
|
|
665
|
+
: {}));
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* Get children job counts if this job is a parent and has children.
|
|
670
|
+
*
|
|
671
|
+
* @returns dependencies count separated by processed and unprocessed.
|
|
672
|
+
*/
|
|
673
|
+
async getDependenciesCount(opts = {}) {
|
|
674
|
+
const client = await this.queue.client;
|
|
675
|
+
const multi = client.multi();
|
|
676
|
+
const updatedOpts = !opts.processed && !opts.unprocessed
|
|
677
|
+
? { processed: true, unprocessed: true }
|
|
678
|
+
: opts;
|
|
679
|
+
if (updatedOpts.processed) {
|
|
680
|
+
multi.hlen(this.toKey(`${this.id}:processed`));
|
|
681
|
+
}
|
|
682
|
+
if (updatedOpts.unprocessed) {
|
|
683
|
+
multi.scard(this.toKey(`${this.id}:dependencies`));
|
|
684
|
+
}
|
|
685
|
+
const [[err1, result1] = [], [err2, result2] = []] = (await multi.exec());
|
|
686
|
+
const processed = updatedOpts.processed ? result1 : undefined;
|
|
687
|
+
const unprocessed = updatedOpts.unprocessed
|
|
688
|
+
? updatedOpts.processed
|
|
689
|
+
? result2
|
|
690
|
+
: result1
|
|
691
|
+
: undefined;
|
|
692
|
+
return Object.assign(Object.assign({}, (updatedOpts.processed
|
|
693
|
+
? {
|
|
694
|
+
processed,
|
|
695
|
+
}
|
|
696
|
+
: {})), (updatedOpts.unprocessed ? { unprocessed } : {}));
|
|
697
|
+
}
|
|
698
|
+
/**
|
|
699
|
+
* Returns a promise the resolves when the job has completed (containing the return value of the job),
|
|
700
|
+
* or rejects when the job has failed (containing the failedReason).
|
|
701
|
+
*
|
|
702
|
+
* @param queueEvents - Instance of QueueEvents.
|
|
703
|
+
* @param ttl - Time in milliseconds to wait for job to finish before timing out.
|
|
704
|
+
*/
|
|
705
|
+
async waitUntilFinished(queueEvents, ttl) {
|
|
706
|
+
await this.queue.waitUntilReady();
|
|
707
|
+
const jobId = this.id;
|
|
708
|
+
return new Promise(async (resolve, reject) => {
|
|
709
|
+
let timeout;
|
|
710
|
+
if (ttl) {
|
|
711
|
+
timeout = setTimeout(() => onFailed(
|
|
712
|
+
/* eslint-disable max-len */
|
|
713
|
+
`Job wait ${this.name} timed out before finishing, no finish notification arrived after ${ttl}ms (id=${jobId})`), ttl);
|
|
714
|
+
}
|
|
715
|
+
function onCompleted(args) {
|
|
716
|
+
removeListeners();
|
|
717
|
+
resolve(args.returnvalue);
|
|
718
|
+
}
|
|
719
|
+
function onFailed(args) {
|
|
720
|
+
removeListeners();
|
|
721
|
+
reject(new Error(args.failedReason || args));
|
|
722
|
+
}
|
|
723
|
+
const completedEvent = `completed:${jobId}`;
|
|
724
|
+
const failedEvent = `failed:${jobId}`;
|
|
725
|
+
queueEvents.on(completedEvent, onCompleted);
|
|
726
|
+
queueEvents.on(failedEvent, onFailed);
|
|
727
|
+
this.queue.on('closing', onFailed);
|
|
728
|
+
const removeListeners = () => {
|
|
729
|
+
clearInterval(timeout);
|
|
730
|
+
queueEvents.removeListener(completedEvent, onCompleted);
|
|
731
|
+
queueEvents.removeListener(failedEvent, onFailed);
|
|
732
|
+
this.queue.removeListener('closing', onFailed);
|
|
733
|
+
};
|
|
734
|
+
// Poll once right now to see if the job has already finished. The job may have been completed before we were able
|
|
735
|
+
// to register the event handlers on the QueueEvents, so we check here to make sure we're not waiting for an event
|
|
736
|
+
// that has already happened. We block checking the job until the queue events object is actually listening to
|
|
737
|
+
// Redis so there's no chance that it will miss events.
|
|
738
|
+
await queueEvents.waitUntilReady();
|
|
739
|
+
const [status, result] = (await this.scripts.isFinished(jobId, true));
|
|
740
|
+
const finished = status != 0;
|
|
741
|
+
if (finished) {
|
|
742
|
+
if (status == -1 || status == 2) {
|
|
743
|
+
onFailed({ failedReason: result });
|
|
744
|
+
}
|
|
745
|
+
else {
|
|
746
|
+
onCompleted({ returnvalue: getReturnValue(result) });
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
});
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Moves the job to the delay set.
|
|
753
|
+
*
|
|
754
|
+
* @param timestamp - timestamp when the job should be moved back to "wait"
|
|
755
|
+
* @param token - token to check job is locked by current worker
|
|
756
|
+
* @returns
|
|
757
|
+
*/
|
|
758
|
+
async moveToDelayed(timestamp, token) {
|
|
759
|
+
const now = Date.now();
|
|
760
|
+
const delay = timestamp - now;
|
|
761
|
+
const finalDelay = delay > 0 ? delay : 0;
|
|
762
|
+
const movedToDelayed = await this.scripts.moveToDelayed(this.id, now, finalDelay, token, { skipAttempt: true });
|
|
763
|
+
this.delay = finalDelay;
|
|
764
|
+
return movedToDelayed;
|
|
765
|
+
}
|
|
766
|
+
/**
|
|
767
|
+
* Moves the job to the waiting-children set.
|
|
768
|
+
*
|
|
769
|
+
* @param token - Token to check job is locked by current worker
|
|
770
|
+
* @param opts - The options bag for moving a job to waiting-children.
|
|
771
|
+
* @returns true if the job was moved
|
|
772
|
+
*/
|
|
773
|
+
async moveToWaitingChildren(token, opts = {}) {
|
|
774
|
+
const movedToWaitingChildren = await this.scripts.moveToWaitingChildren(this.id, token, opts);
|
|
775
|
+
return movedToWaitingChildren;
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* Promotes a delayed job so that it starts to be processed as soon as possible.
|
|
779
|
+
*/
|
|
780
|
+
async promote() {
|
|
781
|
+
const jobId = this.id;
|
|
782
|
+
await this.scripts.promote(jobId);
|
|
783
|
+
this.delay = 0;
|
|
784
|
+
}
|
|
785
|
+
/**
|
|
786
|
+
* Attempts to retry the job. Only a job that has failed or completed can be retried.
|
|
787
|
+
*
|
|
788
|
+
* @param state - completed / failed
|
|
789
|
+
* @returns If resolved and return code is 1, then the queue emits a waiting event
|
|
790
|
+
* otherwise the operation was not a success and throw the corresponding error. If the promise
|
|
791
|
+
* rejects, it indicates that the script failed to execute
|
|
792
|
+
*/
|
|
793
|
+
retry(state = 'failed') {
|
|
794
|
+
this.failedReason = null;
|
|
795
|
+
this.finishedOn = null;
|
|
796
|
+
this.processedOn = null;
|
|
797
|
+
this.returnvalue = null;
|
|
798
|
+
return this.scripts.reprocessJob(this, state);
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* Marks a job to not be retried if it fails (even if attempts has been configured)
|
|
802
|
+
*/
|
|
803
|
+
discard() {
|
|
804
|
+
this.discarded = true;
|
|
805
|
+
}
|
|
806
|
+
async isInZSet(set) {
|
|
807
|
+
const client = await this.queue.client;
|
|
808
|
+
const score = await client.zscore(this.queue.toKey(set), this.id);
|
|
809
|
+
return score !== null;
|
|
810
|
+
}
|
|
811
|
+
async isInList(list) {
|
|
812
|
+
return this.scripts.isJobInList(this.queue.toKey(list), this.id);
|
|
813
|
+
}
|
|
814
|
+
/**
|
|
815
|
+
* Adds the job to Redis.
|
|
816
|
+
*
|
|
817
|
+
* @param client -
|
|
818
|
+
* @param parentOpts -
|
|
819
|
+
* @returns
|
|
820
|
+
*/
|
|
821
|
+
addJob(client, parentOpts) {
|
|
822
|
+
const jobData = this.asJSON();
|
|
823
|
+
this.validateOptions(jobData);
|
|
824
|
+
return this.scripts.addJob(client, jobData, jobData.opts, this.id, parentOpts);
|
|
825
|
+
}
|
|
826
|
+
validateOptions(jobData) {
|
|
827
|
+
var _a;
|
|
828
|
+
const exceedLimit = this.opts.sizeLimit &&
|
|
829
|
+
lengthInUtf8Bytes(jobData.data) > this.opts.sizeLimit;
|
|
830
|
+
if (exceedLimit) {
|
|
831
|
+
throw new Error(`The size of job ${this.name} exceeds the limit ${this.opts.sizeLimit} bytes`);
|
|
832
|
+
}
|
|
833
|
+
if (this.opts.delay && this.opts.repeat && !((_a = this.opts.repeat) === null || _a === void 0 ? void 0 : _a.count)) {
|
|
834
|
+
throw new Error(`Delay and repeat options could not be used together`);
|
|
835
|
+
}
|
|
836
|
+
if (this.opts.removeDependencyOnFailure && this.opts.failParentOnFailure) {
|
|
837
|
+
throw new Error(`RemoveDependencyOnFailure and failParentOnFailure options can not be used together`);
|
|
838
|
+
}
|
|
839
|
+
if (this.opts.removeDependencyOnFailure &&
|
|
840
|
+
this.opts.ignoreDependencyOnFailure) {
|
|
841
|
+
throw new Error(`RemoveDependencyOnFailure and ignoreDependencyOnFailure options can not be used together`);
|
|
842
|
+
}
|
|
843
|
+
if (this.opts.failParentOnFailure && this.opts.ignoreDependencyOnFailure) {
|
|
844
|
+
throw new Error(`FailParentOnFailure and ignoreDependencyOnFailure options can not be used together`);
|
|
845
|
+
}
|
|
846
|
+
if (`${parseInt(this.id, 10)}` === this.id) {
|
|
847
|
+
throw new Error('Custom Ids cannot be integers');
|
|
848
|
+
}
|
|
849
|
+
if (this.opts.priority) {
|
|
850
|
+
if (Math.trunc(this.opts.priority) !== this.opts.priority) {
|
|
851
|
+
throw new Error(`Priority should not be float`);
|
|
852
|
+
}
|
|
853
|
+
if (this.opts.priority > PRIORITY_LIMIT) {
|
|
854
|
+
throw new Error(`Priority should be between 0 and ${PRIORITY_LIMIT}`);
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
updateStacktrace(err) {
|
|
859
|
+
this.stacktrace = this.stacktrace || [];
|
|
860
|
+
if (err === null || err === void 0 ? void 0 : err.stack) {
|
|
861
|
+
this.stacktrace.push(err.stack);
|
|
862
|
+
if (this.opts.stackTraceLimit === 0) {
|
|
863
|
+
this.stacktrace = [];
|
|
864
|
+
}
|
|
865
|
+
else if (this.opts.stackTraceLimit) {
|
|
866
|
+
this.stacktrace = this.stacktrace.slice(-this.opts.stackTraceLimit);
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
function getTraces(stacktrace) {
|
|
872
|
+
const traces = tryCatch(JSON.parse, JSON, [stacktrace]);
|
|
873
|
+
if (traces === errorObject || !(traces instanceof Array)) {
|
|
874
|
+
return [];
|
|
875
|
+
}
|
|
876
|
+
else {
|
|
877
|
+
return traces;
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
function getReturnValue(_value) {
|
|
881
|
+
const value = tryCatch(JSON.parse, JSON, [_value]);
|
|
882
|
+
if (value !== errorObject) {
|
|
883
|
+
return value;
|
|
884
|
+
}
|
|
885
|
+
else {
|
|
886
|
+
logger('corrupted returnvalue: ' + _value, value);
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
//# sourceMappingURL=job.js.map
|