bullmq 1.57.3 → 1.59.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bullmq.d.ts +1839 -0
- package/dist/{classes → cjs/classes}/backoffs.d.ts +0 -0
- package/dist/{classes → cjs/classes}/backoffs.js +0 -0
- package/dist/cjs/classes/backoffs.js.map +1 -0
- package/dist/{classes → cjs/classes}/child-pool.d.ts +0 -0
- package/dist/{classes → cjs/classes}/child-pool.js +1 -1
- package/dist/cjs/classes/child-pool.js.map +1 -0
- package/dist/{classes → cjs/classes}/child-processor.d.ts +0 -0
- package/dist/{classes → cjs/classes}/child-processor.js +0 -0
- package/dist/cjs/classes/child-processor.js.map +1 -0
- package/dist/{classes → cjs/classes}/compat.d.ts +0 -0
- package/dist/{classes → cjs/classes}/compat.js +0 -0
- package/dist/cjs/classes/compat.js.map +1 -0
- package/dist/{classes → cjs/classes}/flow-producer.d.ts +0 -0
- package/dist/{classes → cjs/classes}/flow-producer.js +0 -0
- package/dist/cjs/classes/flow-producer.js.map +1 -0
- package/dist/{classes → cjs/classes}/index.d.ts +0 -0
- package/dist/{classes → cjs/classes}/index.js +0 -0
- package/dist/cjs/classes/index.js.map +1 -0
- package/dist/{classes → cjs/classes}/job.d.ts +0 -0
- package/dist/{classes → cjs/classes}/job.js +0 -0
- package/dist/cjs/classes/job.js.map +1 -0
- package/dist/{classes → cjs/classes}/master.d.ts +0 -0
- package/dist/{classes → cjs/classes}/master.js +0 -0
- package/dist/cjs/classes/master.js.map +1 -0
- package/dist/{classes → cjs/classes}/process-utils.d.ts +0 -0
- package/dist/{classes → cjs/classes}/process-utils.js +0 -0
- package/dist/cjs/classes/process-utils.js.map +1 -0
- package/dist/{classes → cjs/classes}/queue-base.d.ts +0 -0
- package/dist/{classes → cjs/classes}/queue-base.js +0 -0
- package/dist/cjs/classes/queue-base.js.map +1 -0
- package/dist/{classes → cjs/classes}/queue-events.d.ts +0 -0
- package/dist/{classes → cjs/classes}/queue-events.js +0 -0
- package/dist/cjs/classes/queue-events.js.map +1 -0
- package/dist/{classes → cjs/classes}/queue-getters.d.ts +0 -0
- package/dist/{classes → cjs/classes}/queue-getters.js +0 -0
- package/dist/cjs/classes/queue-getters.js.map +1 -0
- package/dist/{classes → cjs/classes}/queue-keys.d.ts +0 -0
- package/dist/{classes → cjs/classes}/queue-keys.js +0 -0
- package/dist/cjs/classes/queue-keys.js.map +1 -0
- package/dist/{classes → cjs/classes}/queue-scheduler.d.ts +0 -0
- package/dist/{classes → cjs/classes}/queue-scheduler.js +0 -0
- package/dist/cjs/classes/queue-scheduler.js.map +1 -0
- package/dist/{classes → cjs/classes}/queue.d.ts +2 -2
- package/dist/{classes → cjs/classes}/queue.js +0 -0
- package/dist/cjs/classes/queue.js.map +1 -0
- package/dist/{classes → cjs/classes}/redis-connection.d.ts +0 -0
- package/dist/{classes → cjs/classes}/redis-connection.js +7 -5
- package/dist/cjs/classes/redis-connection.js.map +1 -0
- package/dist/{classes → cjs/classes}/repeat.d.ts +2 -2
- package/dist/{classes → cjs/classes}/repeat.js +3 -6
- package/dist/cjs/classes/repeat.js.map +1 -0
- package/dist/{classes → cjs/classes}/sandbox.d.ts +0 -0
- package/dist/{classes → cjs/classes}/sandbox.js +0 -0
- package/dist/cjs/classes/sandbox.js.map +1 -0
- package/dist/{classes → cjs/classes}/scripts.d.ts +2 -0
- package/dist/{classes → cjs/classes}/scripts.js +18 -0
- package/dist/cjs/classes/scripts.js.map +1 -0
- package/dist/{classes → cjs/classes}/timer-manager.d.ts +0 -0
- package/dist/{classes → cjs/classes}/timer-manager.js +0 -0
- package/dist/cjs/classes/timer-manager.js.map +1 -0
- package/dist/{classes → cjs/classes}/worker.d.ts +33 -18
- package/dist/{classes → cjs/classes}/worker.js +27 -5
- package/dist/cjs/classes/worker.js.map +1 -0
- package/dist/{commands → cjs/commands}/addJob-9.lua +0 -0
- package/dist/{commands → cjs/commands}/changeDelay-4.lua +0 -0
- package/dist/{commands → cjs/commands}/cleanJobsInSet-2.lua +0 -0
- package/dist/{commands → cjs/commands}/drain-4.lua +0 -0
- package/dist/{commands → cjs/commands}/extendLock-2.lua +0 -0
- package/dist/{commands → cjs/commands}/getState-7.lua +0 -0
- package/dist/{commands → cjs/commands}/getStateV2-7.lua +0 -0
- package/dist/{commands → cjs/commands}/includes/destructureJobKey.lua +0 -0
- package/dist/{commands → cjs/commands}/includes/updateParentDepsIfNeeded.lua +0 -0
- package/dist/{commands → cjs/commands}/index.d.ts +0 -0
- package/dist/{commands → cjs/commands}/index.js +0 -0
- package/dist/cjs/commands/index.js.map +1 -0
- package/dist/{commands → cjs/commands}/isFinished-3.lua +0 -0
- package/dist/{commands → cjs/commands}/isJobInList-1.lua +0 -0
- package/dist/{commands → cjs/commands}/moveStalledJobsToWait-8.lua +0 -0
- package/dist/{commands → cjs/commands}/moveToActive-8.lua +0 -0
- package/dist/{commands → cjs/commands}/moveToDelayed-5.lua +0 -0
- package/dist/{commands → cjs/commands}/moveToFinished-8.lua +0 -0
- package/dist/{commands → cjs/commands}/moveToWaitingChildren-4.lua +0 -0
- package/dist/{commands → cjs/commands}/obliterate-2.lua +0 -0
- package/dist/{commands → cjs/commands}/pause-4.lua +0 -0
- package/dist/{commands → cjs/commands}/promote-5.lua +0 -0
- package/dist/{commands → cjs/commands}/releaseLock-1.lua +0 -0
- package/dist/{commands → cjs/commands}/removeJob-1.lua +0 -0
- package/dist/{commands → cjs/commands}/removeRepeatable-2.lua +0 -0
- package/dist/{commands → cjs/commands}/reprocessJob-4.lua +0 -0
- package/dist/{commands → cjs/commands}/retryJob-4.lua +0 -0
- package/dist/{commands → cjs/commands}/script-loader.d.ts +0 -0
- package/dist/{commands → cjs/commands}/script-loader.js +0 -0
- package/dist/cjs/commands/script-loader.js.map +1 -0
- package/dist/{commands → cjs/commands}/takeLock-1.lua +0 -0
- package/dist/{commands → cjs/commands}/updateDelaySet-7.lua +0 -0
- package/dist/{commands → cjs/commands}/updateProgress-2.lua +0 -0
- package/dist/{enums → cjs/enums}/error-codes.enum.d.ts +0 -0
- package/dist/{enums → cjs/enums}/error-codes.enum.js +0 -0
- package/dist/cjs/enums/error-codes.enum.js.map +1 -0
- package/dist/{enums → cjs/enums}/index.d.ts +0 -0
- package/dist/{enums → cjs/enums}/index.js +0 -0
- package/dist/{enums → cjs/enums}/index.js.map +1 -1
- package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- package/dist/{index.js → cjs/index.js} +0 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/advanced-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/advanced-options.js +0 -0
- package/dist/cjs/interfaces/advanced-options.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/backoff-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/backoff-options.js +0 -0
- package/dist/cjs/interfaces/backoff-options.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/child-command.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/child-command.js +0 -0
- package/dist/cjs/interfaces/child-command.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/child-message.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/child-message.js +0 -0
- package/dist/cjs/interfaces/child-message.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/connection.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/connection.js +0 -0
- package/dist/cjs/interfaces/connection.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/flow-job.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/flow-job.js +0 -0
- package/dist/{interfaces → cjs/interfaces}/flow-job.js.map +1 -1
- package/dist/{interfaces → cjs/interfaces}/index.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/index.js +0 -0
- package/dist/cjs/interfaces/index.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/jobs-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/jobs-options.js +0 -0
- package/dist/cjs/interfaces/jobs-options.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/parent-command.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/parent-command.js +0 -0
- package/dist/cjs/interfaces/parent-command.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/parent-message.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/parent-message.js +0 -0
- package/dist/cjs/interfaces/parent-message.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/parent.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/parent.js +0 -0
- package/dist/{interfaces → cjs/interfaces}/parent.js.map +1 -1
- package/dist/{interfaces → cjs/interfaces}/queue-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/queue-options.js +0 -0
- package/dist/cjs/interfaces/queue-options.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/queue-scheduler-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/queue-scheduler-options.js +0 -0
- package/dist/cjs/interfaces/queue-scheduler-options.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/rate-limiter-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/rate-limiter-options.js +0 -0
- package/dist/cjs/interfaces/rate-limiter-options.js.map +1 -0
- package/dist/cjs/interfaces/redis-options.d.ts +5 -0
- package/dist/{interfaces → cjs/interfaces}/redis-options.js +0 -0
- package/dist/cjs/interfaces/redis-options.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/redis-streams.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/redis-streams.js +0 -0
- package/dist/cjs/interfaces/redis-streams.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/repeat-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/repeat-options.js +0 -0
- package/dist/cjs/interfaces/repeat-options.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/sandboxed-job-processor.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/sandboxed-job-processor.js +0 -0
- package/dist/cjs/interfaces/sandboxed-job-processor.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/sandboxed-job.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/sandboxed-job.js +0 -0
- package/dist/cjs/interfaces/sandboxed-job.js.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/worker-options.d.ts +0 -0
- package/dist/{interfaces → cjs/interfaces}/worker-options.js +0 -0
- package/dist/cjs/interfaces/worker-options.js.map +1 -0
- package/dist/{utils.d.ts → cjs/utils.d.ts} +0 -0
- package/dist/{utils.js → cjs/utils.js} +0 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/classes/backoffs.d.ts +15 -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 +22 -0
- package/dist/esm/classes/child-pool.js +125 -0
- package/dist/esm/classes/child-pool.js.map +1 -0
- package/dist/esm/classes/child-processor.d.ts +24 -0
- package/dist/esm/classes/child-processor.js +165 -0
- package/dist/esm/classes/child-processor.js.map +1 -0
- package/dist/esm/classes/compat.d.ts +316 -0
- package/dist/esm/classes/compat.js +674 -0
- package/dist/esm/classes/compat.js.map +1 -0
- package/dist/esm/classes/flow-producer.d.ts +148 -0
- package/dist/esm/classes/flow-producer.js +228 -0
- package/dist/esm/classes/flow-producer.js.map +1 -0
- package/dist/esm/classes/index.d.ts +14 -0
- package/dist/esm/classes/index.js +15 -0
- package/dist/esm/classes/index.js.map +1 -0
- package/dist/esm/classes/job.d.ts +338 -0
- package/dist/esm/classes/job.js +623 -0
- package/dist/esm/classes/job.js.map +1 -0
- package/dist/esm/classes/master.d.ts +1 -0
- package/dist/esm/classes/master.js +35 -0
- package/dist/esm/classes/master.js.map +1 -0
- package/dist/esm/classes/process-utils.d.ts +7 -0
- package/dist/esm/classes/process-utils.js +31 -0
- package/dist/esm/classes/process-utils.js.map +1 -0
- package/dist/esm/classes/queue-base.d.ts +22 -0
- package/dist/esm/classes/queue-base.js +62 -0
- package/dist/esm/classes/queue-base.js.map +1 -0
- package/dist/esm/classes/queue-events.d.ts +153 -0
- package/dist/esm/classes/queue-events.js +108 -0
- package/dist/esm/classes/queue-events.js.map +1 -0
- package/dist/esm/classes/queue-getters.d.ts +54 -0
- package/dist/esm/classes/queue-getters.js +207 -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 +40 -0
- package/dist/esm/classes/queue-keys.js.map +1 -0
- package/dist/esm/classes/queue-scheduler.d.ts +35 -0
- package/dist/esm/classes/queue-scheduler.js +156 -0
- package/dist/esm/classes/queue-scheduler.js.map +1 -0
- package/dist/esm/classes/queue.d.ts +143 -0
- package/dist/esm/classes/queue.js +195 -0
- package/dist/esm/classes/queue.js.map +1 -0
- package/dist/esm/classes/redis-connection.d.ts +28 -0
- package/dist/esm/classes/redis-connection.js +164 -0
- package/dist/esm/classes/redis-connection.js.map +1 -0
- package/dist/esm/classes/repeat.d.ts +20 -0
- package/dist/esm/classes/repeat.js +140 -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 +56 -0
- package/dist/esm/classes/sandbox.js.map +1 -0
- package/dist/esm/classes/scripts.d.ts +82 -0
- package/dist/esm/classes/scripts.js +510 -0
- package/dist/esm/classes/scripts.js.map +1 -0
- package/dist/esm/classes/timer-manager.d.ts +17 -0
- package/dist/esm/classes/timer-manager.js +47 -0
- package/dist/esm/classes/timer-manager.js.map +1 -0
- package/dist/esm/classes/worker.d.ts +168 -0
- package/dist/esm/classes/worker.js +469 -0
- package/dist/esm/classes/worker.js.map +1 -0
- package/dist/esm/commands/addJob-9.lua +179 -0
- package/dist/esm/commands/changeDelay-4.lua +41 -0
- package/dist/esm/commands/cleanJobsInSet-2.lua +65 -0
- package/dist/esm/commands/drain-4.lua +36 -0
- package/dist/esm/commands/extendLock-2.lua +23 -0
- package/dist/esm/commands/getState-7.lua +63 -0
- package/dist/esm/commands/getStateV2-7.lua +51 -0
- package/dist/esm/commands/includes/destructureJobKey.lua +12 -0
- package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +19 -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 +20 -0
- package/dist/esm/commands/moveStalledJobsToWait-8.lua +112 -0
- package/dist/esm/commands/moveToActive-8.lua +100 -0
- package/dist/esm/commands/moveToDelayed-5.lua +45 -0
- package/dist/esm/commands/moveToFinished-8.lua +159 -0
- package/dist/esm/commands/moveToWaitingChildren-4.lua +60 -0
- package/dist/esm/commands/obliterate-2.lua +129 -0
- package/dist/esm/commands/pause-4.lua +27 -0
- package/dist/esm/commands/promote-5.lua +54 -0
- package/dist/esm/commands/releaseLock-1.lua +19 -0
- package/dist/esm/commands/removeJob-1.lua +115 -0
- package/dist/esm/commands/removeRepeatable-2.lua +23 -0
- package/dist/esm/commands/reprocessJob-4.lua +32 -0
- package/dist/esm/commands/retryJob-4.lua +34 -0
- package/dist/esm/commands/script-loader.d.ts +120 -0
- package/dist/esm/commands/script-loader.js +395 -0
- package/dist/esm/commands/script-loader.js.map +1 -0
- package/dist/esm/commands/takeLock-1.lua +17 -0
- package/dist/esm/commands/updateDelaySet-7.lua +73 -0
- package/dist/esm/commands/updateProgress-2.lua +15 -0
- package/dist/esm/enums/error-codes.enum.d.ts +7 -0
- package/dist/esm/enums/error-codes.enum.js +9 -0
- package/dist/esm/enums/error-codes.enum.js.map +1 -0
- package/dist/esm/enums/index.d.ts +1 -0
- package/dist/esm/enums/index.js +2 -0
- package/dist/esm/enums/index.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/advanced-options.d.ts +6 -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/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 +14 -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 +19 -0
- package/dist/esm/interfaces/index.js +20 -0
- package/dist/esm/interfaces/index.js.map +1 -0
- package/dist/esm/interfaces/jobs-options.d.ts +91 -0
- package/dist/esm/interfaces/jobs-options.js +2 -0
- package/dist/esm/interfaces/jobs-options.js.map +1 -0
- package/dist/esm/interfaces/parent-command.d.ts +9 -0
- package/dist/esm/interfaces/parent-command.js +11 -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 +11 -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 +72 -0
- package/dist/esm/interfaces/queue-options.js +6 -0
- package/dist/esm/interfaces/queue-options.js.map +1 -0
- package/dist/esm/interfaces/queue-scheduler-options.d.ts +23 -0
- package/dist/esm/interfaces/queue-scheduler-options.js +2 -0
- package/dist/esm/interfaces/queue-scheduler-options.js.map +1 -0
- package/dist/esm/interfaces/rate-limiter-options.d.ts +30 -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 +5 -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 +44 -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 +32 -0
- package/dist/esm/interfaces/worker-options.js +2 -0
- package/dist/esm/interfaces/worker-options.js.map +1 -0
- package/dist/esm/tsdoc-metadata.json +11 -0
- package/dist/esm/utils.d.ts +29 -0
- package/dist/esm/utils.js +124 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +14 -12
- package/dist/classes/backoffs.js.map +0 -1
- package/dist/classes/child-pool.js.map +0 -1
- package/dist/classes/child-processor.js.map +0 -1
- package/dist/classes/compat.js.map +0 -1
- package/dist/classes/flow-producer.js.map +0 -1
- package/dist/classes/index.js.map +0 -1
- package/dist/classes/job.js.map +0 -1
- package/dist/classes/master.js.map +0 -1
- package/dist/classes/process-utils.js.map +0 -1
- package/dist/classes/queue-base.js.map +0 -1
- package/dist/classes/queue-events.js.map +0 -1
- package/dist/classes/queue-getters.js.map +0 -1
- package/dist/classes/queue-keys.js.map +0 -1
- package/dist/classes/queue-scheduler.js.map +0 -1
- package/dist/classes/queue.js.map +0 -1
- package/dist/classes/redis-connection.js.map +0 -1
- package/dist/classes/repeat.js.map +0 -1
- package/dist/classes/sandbox.js.map +0 -1
- package/dist/classes/scripts.js.map +0 -1
- package/dist/classes/timer-manager.js.map +0 -1
- package/dist/classes/worker.js.map +0 -1
- package/dist/commands/index.js.map +0 -1
- package/dist/commands/script-loader.js.map +0 -1
- package/dist/enums/error-codes.enum.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interfaces/advanced-options.js.map +0 -1
- package/dist/interfaces/backoff-options.js.map +0 -1
- package/dist/interfaces/child-command.js.map +0 -1
- package/dist/interfaces/child-message.js.map +0 -1
- package/dist/interfaces/connection.js.map +0 -1
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interfaces/jobs-options.js.map +0 -1
- package/dist/interfaces/parent-command.js.map +0 -1
- package/dist/interfaces/parent-message.js.map +0 -1
- package/dist/interfaces/queue-options.js.map +0 -1
- package/dist/interfaces/queue-scheduler-options.js.map +0 -1
- 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/redis-streams.js.map +0 -1
- package/dist/interfaces/repeat-options.js.map +0 -1
- package/dist/interfaces/sandboxed-job-processor.js.map +0 -1
- package/dist/interfaces/sandboxed-job.js.map +0 -1
- package/dist/interfaces/worker-options.js.map +0 -1
- package/dist/utils.js.map +0 -1
@@ -0,0 +1,19 @@
|
|
1
|
+
--[[
|
2
|
+
Release lock
|
3
|
+
|
4
|
+
Input:
|
5
|
+
KEYS[1] 'lock',
|
6
|
+
|
7
|
+
ARGV[1] token
|
8
|
+
ARGV[2] lock duration in milliseconds
|
9
|
+
|
10
|
+
Output:
|
11
|
+
"OK" if lock extented succesfully.
|
12
|
+
]]
|
13
|
+
local rcall = redis.call
|
14
|
+
|
15
|
+
if rcall("GET", KEYS[1]) == ARGV[1] then
|
16
|
+
return rcall("DEL", KEYS[1])
|
17
|
+
else
|
18
|
+
return 0
|
19
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
--[[
|
2
|
+
Remove a job from all the queues it may be in as well as all its data.
|
3
|
+
In order to be able to remove a job, it cannot be active.
|
4
|
+
|
5
|
+
Input:
|
6
|
+
KEYS[1] jobId
|
7
|
+
ARGV[1] jobId
|
8
|
+
|
9
|
+
Events:
|
10
|
+
'removed'
|
11
|
+
]]
|
12
|
+
|
13
|
+
local rcall = redis.call
|
14
|
+
|
15
|
+
-- Includes
|
16
|
+
--- @include "includes/destructureJobKey"
|
17
|
+
|
18
|
+
-- recursively check if there are no locks on the
|
19
|
+
-- jobs to be removed.
|
20
|
+
local function isLocked( prefix, jobId)
|
21
|
+
local jobKey = prefix .. jobId;
|
22
|
+
|
23
|
+
-- Check if this job is locked
|
24
|
+
local lockKey = jobKey .. ':lock'
|
25
|
+
local lock = rcall("GET", lockKey)
|
26
|
+
if not lock then
|
27
|
+
local dependencies = rcall("SMEMBERS", jobKey .. ":dependencies")
|
28
|
+
if (#dependencies > 0) then
|
29
|
+
for i, childJobKey in ipairs(dependencies) do
|
30
|
+
-- We need to get the jobId for this job.
|
31
|
+
local childJobId = getJobIdFromKey(childJobKey)
|
32
|
+
local childJobPrefix = getJobKeyPrefix(childJobKey, childJobId)
|
33
|
+
local result = isLocked( childJobPrefix, childJobId )
|
34
|
+
if result then
|
35
|
+
return true
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
return false
|
40
|
+
end
|
41
|
+
return true
|
42
|
+
end
|
43
|
+
|
44
|
+
local function removeJob( prefix, jobId)
|
45
|
+
local jobKey = prefix .. jobId;
|
46
|
+
|
47
|
+
-- Check if this job has a parent. If so we will just remove it from
|
48
|
+
-- the parent child list, but if it is the last child we should move the parent to "wait/paused"
|
49
|
+
-- which requires code from "moveToFinished"
|
50
|
+
local parentKey = rcall("HGET", jobKey, "parentKey")
|
51
|
+
if( (type(parentKey) == "string") and parentKey ~= "" and (rcall("EXISTS", parentKey) == 1)) then
|
52
|
+
local parentDependenciesKey = parentKey .. ":dependencies"
|
53
|
+
local result = rcall("SREM", parentDependenciesKey, jobKey)
|
54
|
+
if rcall("SCARD", parentDependenciesKey) == 0 then
|
55
|
+
local parentId = getJobIdFromKey(parentKey)
|
56
|
+
local parentPrefix = getJobKeyPrefix(parentKey, parentId)
|
57
|
+
|
58
|
+
rcall("ZREM", parentPrefix .. "waiting-children", parentId)
|
59
|
+
|
60
|
+
if rcall("HEXISTS", parentPrefix .. "meta", "paused") ~= 1 then
|
61
|
+
rcall("RPUSH", parentPrefix .. "wait", parentId)
|
62
|
+
else
|
63
|
+
rcall("RPUSH", parentPrefix .. "parentPrefixpaused", parentId)
|
64
|
+
end
|
65
|
+
|
66
|
+
local parentEventStream = parentPrefix .. "events"
|
67
|
+
rcall("XADD", parentEventStream, "*", "event", "active", "jobId", parentId, "prev", "waiting-children")
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
rcall("LREM", prefix .. "active", 0, jobId)
|
72
|
+
rcall("LREM", prefix .. "wait", 0, jobId)
|
73
|
+
rcall("ZREM", prefix .. "delayed", jobId)
|
74
|
+
rcall("LREM", prefix .. "paused", 0, jobId)
|
75
|
+
rcall("ZREM", prefix .. "completed", jobId)
|
76
|
+
rcall("ZREM", prefix .. "failed", jobId)
|
77
|
+
rcall("ZREM", prefix .. "priority", jobId)
|
78
|
+
rcall("ZREM", prefix .. "waiting-children", jobId)
|
79
|
+
rcall("DEL", jobKey)
|
80
|
+
rcall("DEL", jobKey .. ":logs")
|
81
|
+
rcall("DEL", jobKey .. ":processed")
|
82
|
+
|
83
|
+
-- Check if this job has children
|
84
|
+
-- If so, we are going to try to remove the children recursively in deep first way because
|
85
|
+
-- if some job is locked we must exit with and error.
|
86
|
+
local dependencies = rcall("SMEMBERS", jobKey .. ":dependencies")
|
87
|
+
if (#dependencies > 0) then
|
88
|
+
for i, childJobKey in ipairs(dependencies) do
|
89
|
+
-- We need to get the jobId for this job.
|
90
|
+
local childJobId = getJobIdFromKey(childJobKey)
|
91
|
+
local childJobPrefix = getJobKeyPrefix(childJobKey, childJobId)
|
92
|
+
removeJob( childJobPrefix, childJobId )
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
rcall("DEL", jobKey .. ":dependencies")
|
97
|
+
|
98
|
+
-- -- delete keys related to rate limiter
|
99
|
+
-- local limiterIndexTable = KEYS[10] .. ":index"
|
100
|
+
-- local limitedSetKey = rcall("HGET", limiterIndexTable, jobId)
|
101
|
+
-- if limitedSetKey then
|
102
|
+
-- rcall("SREM", limitedSetKey, jobId)
|
103
|
+
-- rcall("HDEL", limiterIndexTable, jobId)
|
104
|
+
-- end
|
105
|
+
|
106
|
+
rcall("XADD", prefix .. "events", "*", "event", "removed", "jobId", jobId, "prev", "unknown");
|
107
|
+
end
|
108
|
+
|
109
|
+
local prefix = getJobKeyPrefix(KEYS[1], ARGV[1])
|
110
|
+
|
111
|
+
if not isLocked(prefix, ARGV[1]) then
|
112
|
+
removeJob(prefix, ARGV[1])
|
113
|
+
return 1
|
114
|
+
end
|
115
|
+
return 0
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
--[[
|
3
|
+
Removes a repeatable job
|
4
|
+
Input:
|
5
|
+
KEYS[1] repeat jobs key
|
6
|
+
KEYS[2] delayed jobs key
|
7
|
+
|
8
|
+
ARGV[1] repeat job id
|
9
|
+
ARGV[2] repeat job key
|
10
|
+
ARGV[3] queue key
|
11
|
+
]]
|
12
|
+
local rcall = redis.call
|
13
|
+
local millis = rcall("ZSCORE", KEYS[1], ARGV[2])
|
14
|
+
|
15
|
+
if(millis) then
|
16
|
+
-- Delete next programmed job.
|
17
|
+
local repeatJobId = ARGV[1] .. millis
|
18
|
+
if(rcall("ZREM", KEYS[2], repeatJobId) == 1) then
|
19
|
+
rcall("DEL", ARGV[3] .. repeatJobId)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
rcall("ZREM", KEYS[1], ARGV[2]);
|
@@ -0,0 +1,32 @@
|
|
1
|
+
--[[
|
2
|
+
Attempts to reprocess a job
|
3
|
+
|
4
|
+
Input:
|
5
|
+
KEYS[1] job key
|
6
|
+
KEYS[2] events stream
|
7
|
+
KEYS[3] job state
|
8
|
+
KEYS[4] wait key
|
9
|
+
|
10
|
+
ARGV[1] job.id,
|
11
|
+
ARGV[2] (job.opts.lifo ? 'R' : 'L') + 'PUSH'
|
12
|
+
|
13
|
+
Output:
|
14
|
+
1 means the operation was a success
|
15
|
+
-1 means the job does not exist
|
16
|
+
-3 means the job was not found in the expected set.
|
17
|
+
]]
|
18
|
+
local rcall = redis.call;
|
19
|
+
if (rcall("EXISTS", KEYS[1]) == 1) then
|
20
|
+
local jobId = ARGV[1]
|
21
|
+
if (rcall("ZREM", KEYS[3], jobId) == 1) then
|
22
|
+
rcall(ARGV[2], KEYS[4], jobId)
|
23
|
+
|
24
|
+
-- Emit waiting event
|
25
|
+
rcall("XADD", KEYS[2], "*", "event", "waiting", "jobId", jobId);
|
26
|
+
return 1
|
27
|
+
else
|
28
|
+
return -3
|
29
|
+
end
|
30
|
+
else
|
31
|
+
return -1
|
32
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
--[[
|
2
|
+
Retries a failed job by moving it back to the wait queue.
|
3
|
+
|
4
|
+
Input:
|
5
|
+
KEYS[1] 'active',
|
6
|
+
KEYS[2] 'wait'
|
7
|
+
KEYS[3] jobId
|
8
|
+
KEYS[4] events stream
|
9
|
+
|
10
|
+
ARGV[1] pushCmd
|
11
|
+
ARGV[2] jobId
|
12
|
+
ARGV[3] token
|
13
|
+
|
14
|
+
Events:
|
15
|
+
'prefix:added'
|
16
|
+
|
17
|
+
Output:
|
18
|
+
0 - OK
|
19
|
+
-1 - Missing key
|
20
|
+
]]
|
21
|
+
local rcall = redis.call
|
22
|
+
|
23
|
+
if rcall("EXISTS", KEYS[3]) == 1 then
|
24
|
+
|
25
|
+
rcall("LREM", KEYS[1], 0, ARGV[2])
|
26
|
+
rcall(ARGV[1], KEYS[2], ARGV[2])
|
27
|
+
|
28
|
+
-- Emit waiting event
|
29
|
+
rcall("XADD", KEYS[4], "*", "event", "waiting", "jobId", ARGV[2], "prev", "failed");
|
30
|
+
|
31
|
+
return 0
|
32
|
+
else
|
33
|
+
return -1
|
34
|
+
end
|
@@ -0,0 +1,120 @@
|
|
1
|
+
import { RedisClient } from '../interfaces';
|
2
|
+
export interface Command {
|
3
|
+
name: string;
|
4
|
+
options: {
|
5
|
+
numberOfKeys: number;
|
6
|
+
lua: string;
|
7
|
+
};
|
8
|
+
}
|
9
|
+
/**
|
10
|
+
* Script metadata
|
11
|
+
*/
|
12
|
+
export interface ScriptMetadata {
|
13
|
+
/**
|
14
|
+
* Name of the script
|
15
|
+
*/
|
16
|
+
name: string;
|
17
|
+
numberOfKeys?: number;
|
18
|
+
/**
|
19
|
+
* The path to the script. For includes, this is the normalized path,
|
20
|
+
* whereas it may not be normalized for the top-level parent
|
21
|
+
*/
|
22
|
+
path: string;
|
23
|
+
/**
|
24
|
+
* The raw script content
|
25
|
+
*/
|
26
|
+
content: string;
|
27
|
+
/**
|
28
|
+
* A hash of the normalized path for easy replacement in the parent
|
29
|
+
*/
|
30
|
+
token: string;
|
31
|
+
/**
|
32
|
+
* Metadata on the scripts that this script includes
|
33
|
+
*/
|
34
|
+
includes: ScriptMetadata[];
|
35
|
+
}
|
36
|
+
export declare class ScriptLoaderError extends Error {
|
37
|
+
readonly path: string;
|
38
|
+
/**
|
39
|
+
* The include stack
|
40
|
+
*/
|
41
|
+
readonly includes: string[];
|
42
|
+
readonly line: number;
|
43
|
+
readonly position: number;
|
44
|
+
constructor(message: string, path: string, stack?: string[], line?: number, position?: number);
|
45
|
+
}
|
46
|
+
/**
|
47
|
+
* Lua script loader with include support
|
48
|
+
*/
|
49
|
+
export declare class ScriptLoader {
|
50
|
+
/**
|
51
|
+
* Map an alias to a path
|
52
|
+
*/
|
53
|
+
private pathMapper;
|
54
|
+
private clientScripts;
|
55
|
+
/**
|
56
|
+
* Cache commands by dir
|
57
|
+
*/
|
58
|
+
private commandCache;
|
59
|
+
private rootPath;
|
60
|
+
constructor();
|
61
|
+
/**
|
62
|
+
* Add a script path mapping. Allows includes of the form "<includes>/utils.lua" where `includes` is a user
|
63
|
+
* defined path
|
64
|
+
* @param name - the name of the mapping. Note: do not include angle brackets
|
65
|
+
* @param mappedPath - if a relative path is passed, it's relative to the *caller* of this function.
|
66
|
+
* Mapped paths are also accepted, e.g. "~/server/scripts/lua" or "<base>/includes"
|
67
|
+
*/
|
68
|
+
addPathMapping(name: string, mappedPath: string): void;
|
69
|
+
/**
|
70
|
+
* Resolve the script path considering path mappings
|
71
|
+
* @param scriptName - the name of the script
|
72
|
+
* @param stack - the include stack, for nicer errors
|
73
|
+
*/
|
74
|
+
resolvePath(scriptName: string, stack?: string[]): string;
|
75
|
+
/**
|
76
|
+
* Recursively collect all scripts included in a file
|
77
|
+
* @param file - the parent file
|
78
|
+
* @param cache - a cache for file metadata to increase efficiency. Since a file can be included
|
79
|
+
* multiple times, we make sure to load it only once.
|
80
|
+
* @param stack - internal stack to prevent circular references
|
81
|
+
*/
|
82
|
+
private resolveDependencies;
|
83
|
+
/**
|
84
|
+
* Parse a (top-level) lua script
|
85
|
+
* @param filename - the full path to the script
|
86
|
+
* @param content - the content of the script
|
87
|
+
* @param cache - cache
|
88
|
+
*/
|
89
|
+
parseScript(filename: string, content: string, cache?: Map<string, ScriptMetadata>): Promise<ScriptMetadata>;
|
90
|
+
/**
|
91
|
+
* Construct the final version of a file by interpolating its includes in dependency order.
|
92
|
+
* @param file - the file whose content we want to construct
|
93
|
+
* @param processed - a cache to keep track of which includes have already been processed
|
94
|
+
*/
|
95
|
+
interpolate(file: ScriptMetadata, processed?: Set<string>): string;
|
96
|
+
loadCommand(filename: string, cache?: Map<string, ScriptMetadata>): Promise<Command>;
|
97
|
+
/**
|
98
|
+
* Load redis lua scripts.
|
99
|
+
* The name of the script must have the following format:
|
100
|
+
*
|
101
|
+
* cmdName-numKeys.lua
|
102
|
+
*
|
103
|
+
* cmdName must be in camel case format.
|
104
|
+
*
|
105
|
+
* For example:
|
106
|
+
* moveToFinish-3.lua
|
107
|
+
*
|
108
|
+
*/
|
109
|
+
loadScripts(dir?: string, cache?: Map<string, ScriptMetadata>): Promise<Command[]>;
|
110
|
+
/**
|
111
|
+
* Attach all lua scripts in a given directory to a client instance
|
112
|
+
* @param client - redis client to attach script to
|
113
|
+
* @param pathname - the path to the directory containing the scripts
|
114
|
+
*/
|
115
|
+
load(client: RedisClient, pathname: string): Promise<void>;
|
116
|
+
/**
|
117
|
+
* Clears the command cache
|
118
|
+
*/
|
119
|
+
clearCache(): void;
|
120
|
+
}
|