@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.
Files changed (644) hide show
  1. package/.turbo/turbo-build.log +3 -0
  2. package/README.md +1 -0
  3. package/client.d.ts +2 -0
  4. package/client.js +1 -0
  5. package/dist/client/index.d.ts +4 -0
  6. package/dist/client/index.js +1 -0
  7. package/dist/externalVersion.js +4 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.js +39 -0
  10. package/dist/node_modules/@bull-board/api/bullAdapter.d.ts +1 -0
  11. package/dist/node_modules/@bull-board/api/bullAdapter.js +1 -0
  12. package/dist/node_modules/@bull-board/api/bullMQAdapter.d.ts +1 -0
  13. package/dist/node_modules/@bull-board/api/bullMQAdapter.js +1 -0
  14. package/dist/node_modules/@bull-board/api/dist/src/constants/statuses.d.ts +11 -0
  15. package/dist/node_modules/@bull-board/api/dist/src/constants/statuses.js +15 -0
  16. package/dist/node_modules/@bull-board/api/dist/src/handlers/addJob.d.ts +2 -0
  17. package/dist/node_modules/@bull-board/api/dist/src/handlers/addJob.js +18 -0
  18. package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanAll.d.ts +2 -0
  19. package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanAll.js +15 -0
  20. package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanJob.d.ts +2 -0
  21. package/dist/node_modules/@bull-board/api/dist/src/handlers/cleanJob.js +14 -0
  22. package/dist/node_modules/@bull-board/api/dist/src/handlers/emptyQueue.d.ts +2 -0
  23. package/dist/node_modules/@bull-board/api/dist/src/handlers/emptyQueue.js +10 -0
  24. package/dist/node_modules/@bull-board/api/dist/src/handlers/entryPoint.d.ts +5 -0
  25. package/dist/node_modules/@bull-board/api/dist/src/handlers/entryPoint.js +21 -0
  26. package/dist/node_modules/@bull-board/api/dist/src/handlers/error.d.ts +2 -0
  27. package/dist/node_modules/@bull-board/api/dist/src/handlers/error.js +14 -0
  28. package/dist/node_modules/@bull-board/api/dist/src/handlers/job.d.ts +2 -0
  29. package/dist/node_modules/@bull-board/api/dist/src/handlers/job.js +20 -0
  30. package/dist/node_modules/@bull-board/api/dist/src/handlers/jobLogs.d.ts +2 -0
  31. package/dist/node_modules/@bull-board/api/dist/src/handlers/jobLogs.js +16 -0
  32. package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseQueue.d.ts +2 -0
  33. package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseQueue.js +10 -0
  34. package/dist/node_modules/@bull-board/api/dist/src/handlers/promotJob.d.ts +2 -0
  35. package/dist/node_modules/@bull-board/api/dist/src/handlers/promotJob.js +14 -0
  36. package/dist/node_modules/@bull-board/api/dist/src/handlers/promoteAll.d.ts +2 -0
  37. package/dist/node_modules/@bull-board/api/dist/src/handlers/promoteAll.js +10 -0
  38. package/dist/node_modules/@bull-board/api/dist/src/handlers/queues.d.ts +4 -0
  39. package/dist/node_modules/@bull-board/api/dist/src/handlers/queues.js +76 -0
  40. package/dist/node_modules/@bull-board/api/dist/src/handlers/redisStats.d.ts +2 -0
  41. package/dist/node_modules/@bull-board/api/dist/src/handlers/redisStats.js +33 -0
  42. package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeQueue.d.ts +2 -0
  43. package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeQueue.js +10 -0
  44. package/dist/node_modules/@bull-board/api/dist/src/handlers/retryAll.d.ts +2 -0
  45. package/dist/node_modules/@bull-board/api/dist/src/handlers/retryAll.js +12 -0
  46. package/dist/node_modules/@bull-board/api/dist/src/handlers/retryJob.d.ts +2 -0
  47. package/dist/node_modules/@bull-board/api/dist/src/handlers/retryJob.js +15 -0
  48. package/dist/node_modules/@bull-board/api/dist/src/handlers/updateJobData.d.ts +2 -0
  49. package/dist/node_modules/@bull-board/api/dist/src/handlers/updateJobData.js +20 -0
  50. package/dist/node_modules/@bull-board/api/dist/src/index.d.ts +12 -0
  51. package/dist/node_modules/@bull-board/api/dist/src/index.js +1 -0
  52. package/dist/node_modules/@bull-board/api/dist/src/providers/job.d.ts +3 -0
  53. package/dist/node_modules/@bull-board/api/dist/src/providers/job.js +19 -0
  54. package/dist/node_modules/@bull-board/api/dist/src/providers/queue.d.ts +5 -0
  55. package/dist/node_modules/@bull-board/api/dist/src/providers/queue.js +20 -0
  56. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.d.ts +31 -0
  57. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.js +27 -0
  58. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bull.d.ts +23 -0
  59. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bull.js +87 -0
  60. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bullMQ.d.ts +22 -0
  61. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bullMQ.js +91 -0
  62. package/dist/node_modules/@bull-board/api/dist/src/queuesApi.d.ts +9 -0
  63. package/dist/node_modules/@bull-board/api/dist/src/queuesApi.js +32 -0
  64. package/dist/node_modules/@bull-board/api/dist/src/routes.d.ts +2 -0
  65. package/dist/node_modules/@bull-board/api/dist/src/routes.js +96 -0
  66. package/dist/node_modules/@bull-board/api/dist/typings/app.d.ts +203 -0
  67. package/dist/node_modules/@bull-board/api/dist/typings/app.js +3 -0
  68. package/dist/node_modules/@bull-board/api/dist/typings/responses.d.ts +8 -0
  69. package/dist/node_modules/@bull-board/api/dist/typings/responses.js +3 -0
  70. package/dist/node_modules/@bull-board/api/dist/typings/utils.d.ts +1 -0
  71. package/dist/node_modules/@bull-board/api/dist/typings/utils.js +3 -0
  72. package/dist/node_modules/@bull-board/api/package.json +1 -0
  73. package/dist/node_modules/@bull-board/koa/dist/KoaAdapter.d.ts +23 -0
  74. package/dist/node_modules/@bull-board/koa/dist/KoaAdapter.js +125 -0
  75. package/dist/node_modules/@bull-board/koa/dist/index.d.ts +1 -0
  76. package/dist/node_modules/@bull-board/koa/dist/index.js +415 -0
  77. package/dist/node_modules/@bull-board/koa/node_modules/.bin/ejs +17 -0
  78. package/dist/node_modules/@bull-board/koa/package.json +1 -0
  79. package/dist/node_modules/bullmq/LICENSE +21 -0
  80. package/dist/node_modules/bullmq/dist/cjs/classes/async-fifo-queue.js +129 -0
  81. package/dist/node_modules/bullmq/dist/cjs/classes/backoffs.js +48 -0
  82. package/dist/node_modules/bullmq/dist/cjs/classes/child-pool.js +71 -0
  83. package/dist/node_modules/bullmq/dist/cjs/classes/child-processor.js +154 -0
  84. package/dist/node_modules/bullmq/dist/cjs/classes/child.js +210 -0
  85. package/dist/node_modules/bullmq/dist/cjs/classes/errors/delayed-error.js +20 -0
  86. package/dist/node_modules/bullmq/dist/cjs/classes/errors/index.js +8 -0
  87. package/dist/node_modules/bullmq/dist/cjs/classes/errors/rate-limit-error.js +19 -0
  88. package/dist/node_modules/bullmq/dist/cjs/classes/errors/unrecoverable-error.js +20 -0
  89. package/dist/node_modules/bullmq/dist/cjs/classes/errors/waiting-children-error.js +20 -0
  90. package/dist/node_modules/bullmq/dist/cjs/classes/flow-producer.js +339 -0
  91. package/dist/node_modules/bullmq/dist/cjs/classes/index.js +25 -0
  92. package/dist/node_modules/bullmq/dist/cjs/classes/job-scheduler.js +221 -0
  93. package/dist/node_modules/bullmq/dist/cjs/classes/job.js +893 -0
  94. package/dist/node_modules/bullmq/dist/cjs/classes/main-base.js +44 -0
  95. package/dist/node_modules/bullmq/dist/cjs/classes/main-worker.d.ts +1 -0
  96. package/dist/node_modules/bullmq/dist/cjs/classes/main-worker.js +10 -0
  97. package/dist/node_modules/bullmq/dist/cjs/classes/main.d.ts +1 -0
  98. package/dist/node_modules/bullmq/dist/cjs/classes/main.js +10 -0
  99. package/dist/node_modules/bullmq/dist/cjs/classes/queue-base.js +155 -0
  100. package/dist/node_modules/bullmq/dist/cjs/classes/queue-events-producer.js +42 -0
  101. package/dist/node_modules/bullmq/dist/cjs/classes/queue-events.js +125 -0
  102. package/dist/node_modules/bullmq/dist/cjs/classes/queue-getters.js +450 -0
  103. package/dist/node_modules/bullmq/dist/cjs/classes/queue-keys.js +43 -0
  104. package/dist/node_modules/bullmq/dist/cjs/classes/queue.js +635 -0
  105. package/dist/node_modules/bullmq/dist/cjs/classes/redis-connection.js +270 -0
  106. package/dist/node_modules/bullmq/dist/cjs/classes/repeat.js +204 -0
  107. package/dist/node_modules/bullmq/dist/cjs/classes/sandbox.js +75 -0
  108. package/dist/node_modules/bullmq/dist/cjs/classes/scripts.js +1035 -0
  109. package/dist/node_modules/bullmq/dist/cjs/classes/worker.js +819 -0
  110. package/dist/node_modules/bullmq/dist/cjs/commands/addDelayedJob-6.lua +119 -0
  111. package/dist/node_modules/bullmq/dist/cjs/commands/addJobScheduler-2.lua +91 -0
  112. package/dist/node_modules/bullmq/dist/cjs/commands/addLog-2.lua +30 -0
  113. package/dist/node_modules/bullmq/dist/cjs/commands/addParentJob-4.lua +104 -0
  114. package/dist/node_modules/bullmq/dist/cjs/commands/addPrioritizedJob-8.lua +117 -0
  115. package/dist/node_modules/bullmq/dist/cjs/commands/addRepeatableJob-2.lua +84 -0
  116. package/dist/node_modules/bullmq/dist/cjs/commands/addStandardJob-8.lua +122 -0
  117. package/dist/node_modules/bullmq/dist/cjs/commands/changeDelay-4.lua +55 -0
  118. package/dist/node_modules/bullmq/dist/cjs/commands/changePriority-7.lua +68 -0
  119. package/dist/node_modules/bullmq/dist/cjs/commands/cleanJobsInSet-3.lua +55 -0
  120. package/dist/node_modules/bullmq/dist/cjs/commands/drain-5.lua +41 -0
  121. package/dist/node_modules/bullmq/dist/cjs/commands/extendLock-2.lua +23 -0
  122. package/dist/node_modules/bullmq/dist/cjs/commands/extendLocks-1.lua +44 -0
  123. package/dist/node_modules/bullmq/dist/cjs/commands/getCounts-1.lua +36 -0
  124. package/dist/node_modules/bullmq/dist/cjs/commands/getCountsPerPriority-4.lua +35 -0
  125. package/dist/node_modules/bullmq/dist/cjs/commands/getJobScheduler-1.lua +19 -0
  126. package/dist/node_modules/bullmq/dist/cjs/commands/getRanges-1.lua +70 -0
  127. package/dist/node_modules/bullmq/dist/cjs/commands/getRateLimitTtl-1.lua +20 -0
  128. package/dist/node_modules/bullmq/dist/cjs/commands/getState-8.lua +65 -0
  129. package/dist/node_modules/bullmq/dist/cjs/commands/getStateV2-8.lua +58 -0
  130. package/dist/node_modules/bullmq/dist/cjs/commands/includes/addBaseMarkerIfNeeded.lua +9 -0
  131. package/dist/node_modules/bullmq/dist/cjs/commands/includes/addDelayMarkerIfNeeded.lua +15 -0
  132. package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobInTargetList.lua +11 -0
  133. package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobWithPriority.lua +14 -0
  134. package/dist/node_modules/bullmq/dist/cjs/commands/includes/batches.lua +18 -0
  135. package/dist/node_modules/bullmq/dist/cjs/commands/includes/checkItemInList.lua +12 -0
  136. package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanList.lua +47 -0
  137. package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanSet.lua +66 -0
  138. package/dist/node_modules/bullmq/dist/cjs/commands/includes/collectMetrics.lua +46 -0
  139. package/dist/node_modules/bullmq/dist/cjs/commands/includes/deduplicateJob.lua +24 -0
  140. package/dist/node_modules/bullmq/dist/cjs/commands/includes/destructureJobKey.lua +12 -0
  141. package/dist/node_modules/bullmq/dist/cjs/commands/includes/findPage.lua +70 -0
  142. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getDelayedScore.lua +25 -0
  143. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getJobsInZset.lua +13 -0
  144. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +12 -0
  145. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getOrSetMaxEvents.lua +11 -0
  146. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getRateLimitTTL.lua +17 -0
  147. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getTargetQueueList.lua +22 -0
  148. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getTimestamp.lua +19 -0
  149. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getZSetItems.lua +7 -0
  150. package/dist/node_modules/bullmq/dist/cjs/commands/includes/handleDuplicatedJob.lua +26 -0
  151. package/dist/node_modules/bullmq/dist/cjs/commands/includes/isLocked.lua +33 -0
  152. package/dist/node_modules/bullmq/dist/cjs/commands/includes/isQueueMaxed.lua +15 -0
  153. package/dist/node_modules/bullmq/dist/cjs/commands/includes/isQueuePaused.lua +7 -0
  154. package/dist/node_modules/bullmq/dist/cjs/commands/includes/isQueuePausedOrMaxed.lua +18 -0
  155. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveJobFromPriorityToActive.lua +13 -0
  156. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +53 -0
  157. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWaitIfNeeded.lua +55 -0
  158. package/dist/node_modules/bullmq/dist/cjs/commands/includes/prepareJobForProcessing.lua +50 -0
  159. package/dist/node_modules/bullmq/dist/cjs/commands/includes/promoteDelayedJobs.lua +40 -0
  160. package/dist/node_modules/bullmq/dist/cjs/commands/includes/pushBackJobWithPriority.lua +9 -0
  161. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKey.lua +11 -0
  162. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
  163. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJob.lua +17 -0
  164. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobFromAnyState.lua +35 -0
  165. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobKeys.lua +8 -0
  166. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobs.lua +13 -0
  167. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobsByMaxAge.lua +16 -0
  168. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobsByMaxCount.lua +15 -0
  169. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobsOnFail.lua +36 -0
  170. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeListJobs.lua +17 -0
  171. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeLock.lua +19 -0
  172. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeParentDependencyKey.lua +90 -0
  173. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeZSetJobs.lua +27 -0
  174. package/dist/node_modules/bullmq/dist/cjs/commands/includes/storeJob.lua +36 -0
  175. package/dist/node_modules/bullmq/dist/cjs/commands/includes/trimEvents.lua +15 -0
  176. package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateExistingJobsParent.lua +27 -0
  177. package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateJobFields.lua +11 -0
  178. package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +13 -0
  179. package/dist/node_modules/bullmq/dist/cjs/commands/isFinished-3.lua +48 -0
  180. package/dist/node_modules/bullmq/dist/cjs/commands/isJobInList-1.lua +16 -0
  181. package/dist/node_modules/bullmq/dist/cjs/commands/isMaxed-2.lua +17 -0
  182. package/dist/node_modules/bullmq/dist/cjs/commands/moveJobFromActiveToWait-10.lua +60 -0
  183. package/dist/node_modules/bullmq/dist/cjs/commands/moveJobsToWait-8.lua +73 -0
  184. package/dist/node_modules/bullmq/dist/cjs/commands/moveStalledJobsToWait-9.lua +156 -0
  185. package/dist/node_modules/bullmq/dist/cjs/commands/moveToActive-11.lua +93 -0
  186. package/dist/node_modules/bullmq/dist/cjs/commands/moveToDelayed-8.lua +77 -0
  187. package/dist/node_modules/bullmq/dist/cjs/commands/moveToFinished-14.lua +283 -0
  188. package/dist/node_modules/bullmq/dist/cjs/commands/moveToWaitingChildren-5.lua +68 -0
  189. package/dist/node_modules/bullmq/dist/cjs/commands/obliterate-2.lua +118 -0
  190. package/dist/node_modules/bullmq/dist/cjs/commands/paginate-1.lua +49 -0
  191. package/dist/node_modules/bullmq/dist/cjs/commands/pause-7.lua +42 -0
  192. package/dist/node_modules/bullmq/dist/cjs/commands/promote-9.lua +62 -0
  193. package/dist/node_modules/bullmq/dist/cjs/commands/releaseLock-1.lua +19 -0
  194. package/dist/node_modules/bullmq/dist/cjs/commands/removeChildDependency-1.lua +34 -0
  195. package/dist/node_modules/bullmq/dist/cjs/commands/removeJob-2.lua +92 -0
  196. package/dist/node_modules/bullmq/dist/cjs/commands/removeJobScheduler-3.lua +43 -0
  197. package/dist/node_modules/bullmq/dist/cjs/commands/removeRepeatable-3.lua +58 -0
  198. package/dist/node_modules/bullmq/dist/cjs/commands/reprocessJob-8.lua +49 -0
  199. package/dist/node_modules/bullmq/dist/cjs/commands/retryJob-11.lua +82 -0
  200. package/dist/node_modules/bullmq/dist/cjs/commands/saveStacktrace-1.lua +19 -0
  201. package/dist/node_modules/bullmq/dist/cjs/commands/updateData-1.lua +20 -0
  202. package/dist/node_modules/bullmq/dist/cjs/commands/updateProgress-3.lua +33 -0
  203. package/dist/node_modules/bullmq/dist/cjs/commands/updateRepeatableJobMillis-1.lua +28 -0
  204. package/dist/node_modules/bullmq/dist/cjs/enums/child-command.js +10 -0
  205. package/dist/node_modules/bullmq/dist/cjs/enums/error-code.js +15 -0
  206. package/dist/node_modules/bullmq/dist/cjs/enums/index.js +9 -0
  207. package/dist/node_modules/bullmq/dist/cjs/enums/metrics-time.js +15 -0
  208. package/dist/node_modules/bullmq/dist/cjs/enums/parent-command.js +16 -0
  209. package/dist/node_modules/bullmq/dist/cjs/enums/telemetry-attributes.js +48 -0
  210. package/dist/node_modules/bullmq/dist/cjs/index.js +1 -0
  211. package/dist/node_modules/bullmq/dist/cjs/interfaces/advanced-options.js +3 -0
  212. package/dist/node_modules/bullmq/dist/cjs/interfaces/backoff-options.js +3 -0
  213. package/dist/node_modules/bullmq/dist/cjs/interfaces/base-job-options.js +3 -0
  214. package/dist/node_modules/bullmq/dist/cjs/interfaces/child-message.js +3 -0
  215. package/dist/node_modules/bullmq/dist/cjs/interfaces/connection.js +3 -0
  216. package/dist/node_modules/bullmq/dist/cjs/interfaces/debounce-options.js +3 -0
  217. package/dist/node_modules/bullmq/dist/cjs/interfaces/flow-job.js +3 -0
  218. package/dist/node_modules/bullmq/dist/cjs/interfaces/index.js +32 -0
  219. package/dist/node_modules/bullmq/dist/cjs/interfaces/ioredis-events.js +3 -0
  220. package/dist/node_modules/bullmq/dist/cjs/interfaces/job-json.js +3 -0
  221. package/dist/node_modules/bullmq/dist/cjs/interfaces/job-scheduler-json.js +3 -0
  222. package/dist/node_modules/bullmq/dist/cjs/interfaces/keep-jobs.js +3 -0
  223. package/dist/node_modules/bullmq/dist/cjs/interfaces/metrics-options.js +3 -0
  224. package/dist/node_modules/bullmq/dist/cjs/interfaces/metrics.js +3 -0
  225. package/dist/node_modules/bullmq/dist/cjs/interfaces/minimal-job.js +3 -0
  226. package/dist/node_modules/bullmq/dist/cjs/interfaces/parent-message.js +3 -0
  227. package/dist/node_modules/bullmq/dist/cjs/interfaces/parent.js +3 -0
  228. package/dist/node_modules/bullmq/dist/cjs/interfaces/queue-options.js +9 -0
  229. package/dist/node_modules/bullmq/dist/cjs/interfaces/rate-limiter-options.js +3 -0
  230. package/dist/node_modules/bullmq/dist/cjs/interfaces/redis-options.js +3 -0
  231. package/dist/node_modules/bullmq/dist/cjs/interfaces/redis-streams.js +3 -0
  232. package/dist/node_modules/bullmq/dist/cjs/interfaces/repeat-options.js +3 -0
  233. package/dist/node_modules/bullmq/dist/cjs/interfaces/repeatable-job.js +3 -0
  234. package/dist/node_modules/bullmq/dist/cjs/interfaces/repeatable-options.js +3 -0
  235. package/dist/node_modules/bullmq/dist/cjs/interfaces/sandboxed-job-processor.js +3 -0
  236. package/dist/node_modules/bullmq/dist/cjs/interfaces/sandboxed-job.js +3 -0
  237. package/dist/node_modules/bullmq/dist/cjs/interfaces/sandboxed-options.js +3 -0
  238. package/dist/node_modules/bullmq/dist/cjs/interfaces/telemetry.js +3 -0
  239. package/dist/node_modules/bullmq/dist/cjs/interfaces/worker-options.js +3 -0
  240. package/dist/node_modules/bullmq/dist/cjs/scripts/addDelayedJob-6.js +373 -0
  241. package/dist/node_modules/bullmq/dist/cjs/scripts/addJobScheduler-2.js +237 -0
  242. package/dist/node_modules/bullmq/dist/cjs/scripts/addLog-2.js +33 -0
  243. package/dist/node_modules/bullmq/dist/cjs/scripts/addParentJob-4.js +340 -0
  244. package/dist/node_modules/bullmq/dist/cjs/scripts/addPrioritizedJob-8.js +350 -0
  245. package/dist/node_modules/bullmq/dist/cjs/scripts/addRepeatableJob-2.js +230 -0
  246. package/dist/node_modules/bullmq/dist/cjs/scripts/addStandardJob-8.js +354 -0
  247. package/dist/node_modules/bullmq/dist/cjs/scripts/changeDelay-4.js +107 -0
  248. package/dist/node_modules/bullmq/dist/cjs/scripts/changePriority-7.js +122 -0
  249. package/dist/node_modules/bullmq/dist/cjs/scripts/cleanJobsInSet-3.js +350 -0
  250. package/dist/node_modules/bullmq/dist/cjs/scripts/drain-5.js +258 -0
  251. package/dist/node_modules/bullmq/dist/cjs/scripts/extendLock-2.js +30 -0
  252. package/dist/node_modules/bullmq/dist/cjs/scripts/extendLocks-1.js +46 -0
  253. package/dist/node_modules/bullmq/dist/cjs/scripts/getCounts-1.js +42 -0
  254. package/dist/node_modules/bullmq/dist/cjs/scripts/getCountsPerPriority-4.js +46 -0
  255. package/dist/node_modules/bullmq/dist/cjs/scripts/getJobScheduler-1.js +23 -0
  256. package/dist/node_modules/bullmq/dist/cjs/scripts/getRanges-1.js +73 -0
  257. package/dist/node_modules/bullmq/dist/cjs/scripts/getRateLimitTtl-1.js +39 -0
  258. package/dist/node_modules/bullmq/dist/cjs/scripts/getState-8.js +73 -0
  259. package/dist/node_modules/bullmq/dist/cjs/scripts/getStateV2-8.js +57 -0
  260. package/dist/node_modules/bullmq/dist/cjs/scripts/index.js +49 -0
  261. package/dist/node_modules/bullmq/dist/cjs/scripts/isFinished-3.js +49 -0
  262. package/dist/node_modules/bullmq/dist/cjs/scripts/isJobInList-1.js +32 -0
  263. package/dist/node_modules/bullmq/dist/cjs/scripts/isMaxed-2.js +34 -0
  264. package/dist/node_modules/bullmq/dist/cjs/scripts/moveJobFromActiveToWait-10.js +110 -0
  265. package/dist/node_modules/bullmq/dist/cjs/scripts/moveJobsToWait-8.js +118 -0
  266. package/dist/node_modules/bullmq/dist/cjs/scripts/moveStalledJobsToWait-9.js +529 -0
  267. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToActive-11.js +233 -0
  268. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToDelayed-8.js +156 -0
  269. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToFinished-14.js +798 -0
  270. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToWaitingChildren-5.js +83 -0
  271. package/dist/node_modules/bullmq/dist/cjs/scripts/obliterate-2.js +327 -0
  272. package/dist/node_modules/bullmq/dist/cjs/scripts/paginate-1.js +110 -0
  273. package/dist/node_modules/bullmq/dist/cjs/scripts/pause-7.js +67 -0
  274. package/dist/node_modules/bullmq/dist/cjs/scripts/promote-9.js +105 -0
  275. package/dist/node_modules/bullmq/dist/cjs/scripts/releaseLock-1.js +25 -0
  276. package/dist/node_modules/bullmq/dist/cjs/scripts/removeChildDependency-1.js +165 -0
  277. package/dist/node_modules/bullmq/dist/cjs/scripts/removeJob-2.js +292 -0
  278. package/dist/node_modules/bullmq/dist/cjs/scripts/removeJobScheduler-3.js +49 -0
  279. package/dist/node_modules/bullmq/dist/cjs/scripts/removeRepeatable-3.js +63 -0
  280. package/dist/node_modules/bullmq/dist/cjs/scripts/reprocessJob-8.js +96 -0
  281. package/dist/node_modules/bullmq/dist/cjs/scripts/retryJob-11.js +193 -0
  282. package/dist/node_modules/bullmq/dist/cjs/scripts/saveStacktrace-1.js +27 -0
  283. package/dist/node_modules/bullmq/dist/cjs/scripts/updateData-1.js +26 -0
  284. package/dist/node_modules/bullmq/dist/cjs/scripts/updateProgress-3.js +46 -0
  285. package/dist/node_modules/bullmq/dist/cjs/scripts/updateRepeatableJobMillis-1.js +33 -0
  286. package/dist/node_modules/bullmq/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -0
  287. package/dist/node_modules/bullmq/dist/cjs/types/backoff-strategy.js +3 -0
  288. package/dist/node_modules/bullmq/dist/cjs/types/finished-status.js +3 -0
  289. package/dist/node_modules/bullmq/dist/cjs/types/index.js +12 -0
  290. package/dist/node_modules/bullmq/dist/cjs/types/job-json-sandbox.js +3 -0
  291. package/dist/node_modules/bullmq/dist/cjs/types/job-options.js +3 -0
  292. package/dist/node_modules/bullmq/dist/cjs/types/job-scheduler-template-options.js +3 -0
  293. package/dist/node_modules/bullmq/dist/cjs/types/job-type.js +3 -0
  294. package/dist/node_modules/bullmq/dist/cjs/types/minimal-queue.js +3 -0
  295. package/dist/node_modules/bullmq/dist/cjs/types/repeat-strategy.js +3 -0
  296. package/dist/node_modules/bullmq/dist/cjs/utils.js +288 -0
  297. package/dist/node_modules/bullmq/dist/cjs/version.js +5 -0
  298. package/dist/node_modules/bullmq/dist/esm/classes/async-fifo-queue.d.ts +37 -0
  299. package/dist/node_modules/bullmq/dist/esm/classes/async-fifo-queue.js +125 -0
  300. package/dist/node_modules/bullmq/dist/esm/classes/backoffs.d.ts +10 -0
  301. package/dist/node_modules/bullmq/dist/esm/classes/backoffs.js +44 -0
  302. package/dist/node_modules/bullmq/dist/esm/classes/child-pool.d.ts +23 -0
  303. package/dist/node_modules/bullmq/dist/esm/classes/child-pool.js +67 -0
  304. package/dist/node_modules/bullmq/dist/esm/classes/child-processor.d.ts +37 -0
  305. package/dist/node_modules/bullmq/dist/esm/classes/child-processor.js +150 -0
  306. package/dist/node_modules/bullmq/dist/esm/classes/child.d.ts +35 -0
  307. package/dist/node_modules/bullmq/dist/esm/classes/child.js +206 -0
  308. package/dist/node_modules/bullmq/dist/esm/classes/errors/delayed-error.d.ts +11 -0
  309. package/dist/node_modules/bullmq/dist/esm/classes/errors/delayed-error.js +16 -0
  310. package/dist/node_modules/bullmq/dist/esm/classes/errors/index.d.ts +4 -0
  311. package/dist/node_modules/bullmq/dist/esm/classes/errors/index.js +5 -0
  312. package/dist/node_modules/bullmq/dist/esm/classes/errors/rate-limit-error.d.ts +10 -0
  313. package/dist/node_modules/bullmq/dist/esm/classes/errors/rate-limit-error.js +15 -0
  314. package/dist/node_modules/bullmq/dist/esm/classes/errors/unrecoverable-error.d.ts +11 -0
  315. package/dist/node_modules/bullmq/dist/esm/classes/errors/unrecoverable-error.js +16 -0
  316. package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-children-error.d.ts +11 -0
  317. package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-children-error.js +16 -0
  318. package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.d.ts +179 -0
  319. package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.js +335 -0
  320. package/dist/node_modules/bullmq/dist/esm/classes/index.d.ts +19 -0
  321. package/dist/node_modules/bullmq/dist/esm/classes/index.js +22 -0
  322. package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.d.ts +24 -0
  323. package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.js +216 -0
  324. package/dist/node_modules/bullmq/dist/esm/classes/job.d.ts +425 -0
  325. package/dist/node_modules/bullmq/dist/esm/classes/job.js +889 -0
  326. package/dist/node_modules/bullmq/dist/esm/classes/main-base.d.ts +4 -0
  327. package/dist/node_modules/bullmq/dist/esm/classes/main-base.js +42 -0
  328. package/dist/node_modules/bullmq/dist/esm/classes/main-worker.d.ts +1 -0
  329. package/dist/node_modules/bullmq/dist/esm/classes/main-worker.js +8 -0
  330. package/dist/node_modules/bullmq/dist/esm/classes/main.d.ts +1 -0
  331. package/dist/node_modules/bullmq/dist/esm/classes/main.js +8 -0
  332. package/dist/node_modules/bullmq/dist/esm/classes/queue-base.d.ts +83 -0
  333. package/dist/node_modules/bullmq/dist/esm/classes/queue-base.js +151 -0
  334. package/dist/node_modules/bullmq/dist/esm/classes/queue-events-producer.d.ts +21 -0
  335. package/dist/node_modules/bullmq/dist/esm/classes/queue-events-producer.js +38 -0
  336. package/dist/node_modules/bullmq/dist/esm/classes/queue-events.d.ts +201 -0
  337. package/dist/node_modules/bullmq/dist/esm/classes/queue-events.js +121 -0
  338. package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.d.ts +235 -0
  339. package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.js +447 -0
  340. package/dist/node_modules/bullmq/dist/esm/classes/queue-keys.d.ts +10 -0
  341. package/dist/node_modules/bullmq/dist/esm/classes/queue-keys.js +39 -0
  342. package/dist/node_modules/bullmq/dist/esm/classes/queue.d.ts +406 -0
  343. package/dist/node_modules/bullmq/dist/esm/classes/queue.js +631 -0
  344. package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.d.ts +46 -0
  345. package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.js +266 -0
  346. package/dist/node_modules/bullmq/dist/esm/classes/repeat.d.ts +25 -0
  347. package/dist/node_modules/bullmq/dist/esm/classes/repeat.js +199 -0
  348. package/dist/node_modules/bullmq/dist/esm/classes/sandbox.d.ts +4 -0
  349. package/dist/node_modules/bullmq/dist/esm/classes/sandbox.js +73 -0
  350. package/dist/node_modules/bullmq/dist/esm/classes/scripts.d.ts +160 -0
  351. package/dist/node_modules/bullmq/dist/esm/classes/scripts.js +1031 -0
  352. package/dist/node_modules/bullmq/dist/esm/classes/worker.d.ts +231 -0
  353. package/dist/node_modules/bullmq/dist/esm/classes/worker.js +815 -0
  354. package/dist/node_modules/bullmq/dist/esm/commands/addDelayedJob-6.lua +119 -0
  355. package/dist/node_modules/bullmq/dist/esm/commands/addJobScheduler-2.lua +91 -0
  356. package/dist/node_modules/bullmq/dist/esm/commands/addLog-2.lua +30 -0
  357. package/dist/node_modules/bullmq/dist/esm/commands/addParentJob-4.lua +104 -0
  358. package/dist/node_modules/bullmq/dist/esm/commands/addPrioritizedJob-8.lua +117 -0
  359. package/dist/node_modules/bullmq/dist/esm/commands/addRepeatableJob-2.lua +84 -0
  360. package/dist/node_modules/bullmq/dist/esm/commands/addStandardJob-8.lua +122 -0
  361. package/dist/node_modules/bullmq/dist/esm/commands/changeDelay-4.lua +55 -0
  362. package/dist/node_modules/bullmq/dist/esm/commands/changePriority-7.lua +68 -0
  363. package/dist/node_modules/bullmq/dist/esm/commands/cleanJobsInSet-3.lua +55 -0
  364. package/dist/node_modules/bullmq/dist/esm/commands/drain-5.lua +41 -0
  365. package/dist/node_modules/bullmq/dist/esm/commands/extendLock-2.lua +23 -0
  366. package/dist/node_modules/bullmq/dist/esm/commands/extendLocks-1.lua +44 -0
  367. package/dist/node_modules/bullmq/dist/esm/commands/getCounts-1.lua +36 -0
  368. package/dist/node_modules/bullmq/dist/esm/commands/getCountsPerPriority-4.lua +35 -0
  369. package/dist/node_modules/bullmq/dist/esm/commands/getJobScheduler-1.lua +19 -0
  370. package/dist/node_modules/bullmq/dist/esm/commands/getRanges-1.lua +70 -0
  371. package/dist/node_modules/bullmq/dist/esm/commands/getRateLimitTtl-1.lua +20 -0
  372. package/dist/node_modules/bullmq/dist/esm/commands/getState-8.lua +65 -0
  373. package/dist/node_modules/bullmq/dist/esm/commands/getStateV2-8.lua +58 -0
  374. package/dist/node_modules/bullmq/dist/esm/commands/includes/addBaseMarkerIfNeeded.lua +9 -0
  375. package/dist/node_modules/bullmq/dist/esm/commands/includes/addDelayMarkerIfNeeded.lua +15 -0
  376. package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobInTargetList.lua +11 -0
  377. package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobWithPriority.lua +14 -0
  378. package/dist/node_modules/bullmq/dist/esm/commands/includes/batches.lua +18 -0
  379. package/dist/node_modules/bullmq/dist/esm/commands/includes/checkItemInList.lua +12 -0
  380. package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanList.lua +47 -0
  381. package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanSet.lua +66 -0
  382. package/dist/node_modules/bullmq/dist/esm/commands/includes/collectMetrics.lua +46 -0
  383. package/dist/node_modules/bullmq/dist/esm/commands/includes/deduplicateJob.lua +24 -0
  384. package/dist/node_modules/bullmq/dist/esm/commands/includes/destructureJobKey.lua +12 -0
  385. package/dist/node_modules/bullmq/dist/esm/commands/includes/findPage.lua +70 -0
  386. package/dist/node_modules/bullmq/dist/esm/commands/includes/getDelayedScore.lua +25 -0
  387. package/dist/node_modules/bullmq/dist/esm/commands/includes/getJobsInZset.lua +13 -0
  388. package/dist/node_modules/bullmq/dist/esm/commands/includes/getNextDelayedTimestamp.lua +12 -0
  389. package/dist/node_modules/bullmq/dist/esm/commands/includes/getOrSetMaxEvents.lua +11 -0
  390. package/dist/node_modules/bullmq/dist/esm/commands/includes/getRateLimitTTL.lua +17 -0
  391. package/dist/node_modules/bullmq/dist/esm/commands/includes/getTargetQueueList.lua +22 -0
  392. package/dist/node_modules/bullmq/dist/esm/commands/includes/getTimestamp.lua +19 -0
  393. package/dist/node_modules/bullmq/dist/esm/commands/includes/getZSetItems.lua +7 -0
  394. package/dist/node_modules/bullmq/dist/esm/commands/includes/handleDuplicatedJob.lua +26 -0
  395. package/dist/node_modules/bullmq/dist/esm/commands/includes/isLocked.lua +33 -0
  396. package/dist/node_modules/bullmq/dist/esm/commands/includes/isQueueMaxed.lua +15 -0
  397. package/dist/node_modules/bullmq/dist/esm/commands/includes/isQueuePaused.lua +7 -0
  398. package/dist/node_modules/bullmq/dist/esm/commands/includes/isQueuePausedOrMaxed.lua +18 -0
  399. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveJobFromPriorityToActive.lua +13 -0
  400. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +53 -0
  401. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWaitIfNeeded.lua +55 -0
  402. package/dist/node_modules/bullmq/dist/esm/commands/includes/prepareJobForProcessing.lua +50 -0
  403. package/dist/node_modules/bullmq/dist/esm/commands/includes/promoteDelayedJobs.lua +40 -0
  404. package/dist/node_modules/bullmq/dist/esm/commands/includes/pushBackJobWithPriority.lua +9 -0
  405. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKey.lua +11 -0
  406. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +14 -0
  407. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJob.lua +17 -0
  408. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobFromAnyState.lua +35 -0
  409. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobKeys.lua +8 -0
  410. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobs.lua +13 -0
  411. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobsByMaxAge.lua +16 -0
  412. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobsByMaxCount.lua +15 -0
  413. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobsOnFail.lua +36 -0
  414. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeListJobs.lua +17 -0
  415. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeLock.lua +19 -0
  416. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeParentDependencyKey.lua +90 -0
  417. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeZSetJobs.lua +27 -0
  418. package/dist/node_modules/bullmq/dist/esm/commands/includes/storeJob.lua +36 -0
  419. package/dist/node_modules/bullmq/dist/esm/commands/includes/trimEvents.lua +15 -0
  420. package/dist/node_modules/bullmq/dist/esm/commands/includes/updateExistingJobsParent.lua +27 -0
  421. package/dist/node_modules/bullmq/dist/esm/commands/includes/updateJobFields.lua +11 -0
  422. package/dist/node_modules/bullmq/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +13 -0
  423. package/dist/node_modules/bullmq/dist/esm/commands/isFinished-3.lua +48 -0
  424. package/dist/node_modules/bullmq/dist/esm/commands/isJobInList-1.lua +16 -0
  425. package/dist/node_modules/bullmq/dist/esm/commands/isMaxed-2.lua +17 -0
  426. package/dist/node_modules/bullmq/dist/esm/commands/moveJobFromActiveToWait-10.lua +60 -0
  427. package/dist/node_modules/bullmq/dist/esm/commands/moveJobsToWait-8.lua +73 -0
  428. package/dist/node_modules/bullmq/dist/esm/commands/moveStalledJobsToWait-9.lua +156 -0
  429. package/dist/node_modules/bullmq/dist/esm/commands/moveToActive-11.lua +93 -0
  430. package/dist/node_modules/bullmq/dist/esm/commands/moveToDelayed-8.lua +77 -0
  431. package/dist/node_modules/bullmq/dist/esm/commands/moveToFinished-14.lua +283 -0
  432. package/dist/node_modules/bullmq/dist/esm/commands/moveToWaitingChildren-5.lua +68 -0
  433. package/dist/node_modules/bullmq/dist/esm/commands/obliterate-2.lua +118 -0
  434. package/dist/node_modules/bullmq/dist/esm/commands/paginate-1.lua +49 -0
  435. package/dist/node_modules/bullmq/dist/esm/commands/pause-7.lua +42 -0
  436. package/dist/node_modules/bullmq/dist/esm/commands/promote-9.lua +62 -0
  437. package/dist/node_modules/bullmq/dist/esm/commands/releaseLock-1.lua +19 -0
  438. package/dist/node_modules/bullmq/dist/esm/commands/removeChildDependency-1.lua +34 -0
  439. package/dist/node_modules/bullmq/dist/esm/commands/removeJob-2.lua +92 -0
  440. package/dist/node_modules/bullmq/dist/esm/commands/removeJobScheduler-3.lua +43 -0
  441. package/dist/node_modules/bullmq/dist/esm/commands/removeRepeatable-3.lua +58 -0
  442. package/dist/node_modules/bullmq/dist/esm/commands/reprocessJob-8.lua +49 -0
  443. package/dist/node_modules/bullmq/dist/esm/commands/retryJob-11.lua +82 -0
  444. package/dist/node_modules/bullmq/dist/esm/commands/saveStacktrace-1.lua +19 -0
  445. package/dist/node_modules/bullmq/dist/esm/commands/updateData-1.lua +20 -0
  446. package/dist/node_modules/bullmq/dist/esm/commands/updateProgress-3.lua +33 -0
  447. package/dist/node_modules/bullmq/dist/esm/commands/updateRepeatableJobMillis-1.lua +28 -0
  448. package/dist/node_modules/bullmq/dist/esm/enums/child-command.d.ts +5 -0
  449. package/dist/node_modules/bullmq/dist/esm/enums/child-command.js +7 -0
  450. package/dist/node_modules/bullmq/dist/esm/enums/error-code.d.ts +10 -0
  451. package/dist/node_modules/bullmq/dist/esm/enums/error-code.js +12 -0
  452. package/dist/node_modules/bullmq/dist/esm/enums/index.d.ts +5 -0
  453. package/dist/node_modules/bullmq/dist/esm/enums/index.js +6 -0
  454. package/dist/node_modules/bullmq/dist/esm/enums/metrics-time.d.ts +10 -0
  455. package/dist/node_modules/bullmq/dist/esm/enums/metrics-time.js +12 -0
  456. package/dist/node_modules/bullmq/dist/esm/enums/parent-command.d.ts +11 -0
  457. package/dist/node_modules/bullmq/dist/esm/enums/parent-command.js +13 -0
  458. package/dist/node_modules/bullmq/dist/esm/enums/telemetry-attributes.d.ts +42 -0
  459. package/dist/node_modules/bullmq/dist/esm/enums/telemetry-attributes.js +45 -0
  460. package/dist/node_modules/bullmq/dist/esm/index.d.ts +5 -0
  461. package/dist/node_modules/bullmq/dist/esm/index.js +6 -0
  462. package/dist/node_modules/bullmq/dist/esm/interfaces/advanced-options.d.ts +18 -0
  463. package/dist/node_modules/bullmq/dist/esm/interfaces/advanced-options.js +2 -0
  464. package/dist/node_modules/bullmq/dist/esm/interfaces/backoff-options.d.ts +15 -0
  465. package/dist/node_modules/bullmq/dist/esm/interfaces/backoff-options.js +2 -0
  466. package/dist/node_modules/bullmq/dist/esm/interfaces/base-job-options.d.ts +100 -0
  467. package/dist/node_modules/bullmq/dist/esm/interfaces/base-job-options.js +2 -0
  468. package/dist/node_modules/bullmq/dist/esm/interfaces/child-message.d.ts +6 -0
  469. package/dist/node_modules/bullmq/dist/esm/interfaces/child-message.js +2 -0
  470. package/dist/node_modules/bullmq/dist/esm/interfaces/connection.d.ts +8 -0
  471. package/dist/node_modules/bullmq/dist/esm/interfaces/connection.js +2 -0
  472. package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.d.ts +13 -0
  473. package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.js +2 -0
  474. package/dist/node_modules/bullmq/dist/esm/interfaces/flow-job.d.ts +19 -0
  475. package/dist/node_modules/bullmq/dist/esm/interfaces/flow-job.js +2 -0
  476. package/dist/node_modules/bullmq/dist/esm/interfaces/index.d.ts +28 -0
  477. package/dist/node_modules/bullmq/dist/esm/interfaces/index.js +29 -0
  478. package/dist/node_modules/bullmq/dist/esm/interfaces/ioredis-events.d.ts +8 -0
  479. package/dist/node_modules/bullmq/dist/esm/interfaces/ioredis-events.js +2 -0
  480. package/dist/node_modules/bullmq/dist/esm/interfaces/job-json.d.ts +47 -0
  481. package/dist/node_modules/bullmq/dist/esm/interfaces/job-json.js +2 -0
  482. package/dist/node_modules/bullmq/dist/esm/interfaces/job-scheduler-json.d.ts +16 -0
  483. package/dist/node_modules/bullmq/dist/esm/interfaces/job-scheduler-json.js +2 -0
  484. package/dist/node_modules/bullmq/dist/esm/interfaces/keep-jobs.d.ts +17 -0
  485. package/dist/node_modules/bullmq/dist/esm/interfaces/keep-jobs.js +2 -0
  486. package/dist/node_modules/bullmq/dist/esm/interfaces/metrics-options.d.ts +12 -0
  487. package/dist/node_modules/bullmq/dist/esm/interfaces/metrics-options.js +2 -0
  488. package/dist/node_modules/bullmq/dist/esm/interfaces/metrics.d.ts +9 -0
  489. package/dist/node_modules/bullmq/dist/esm/interfaces/metrics.js +2 -0
  490. package/dist/node_modules/bullmq/dist/esm/interfaces/minimal-job.d.ts +133 -0
  491. package/dist/node_modules/bullmq/dist/esm/interfaces/minimal-job.js +2 -0
  492. package/dist/node_modules/bullmq/dist/esm/interfaces/parent-message.d.ts +8 -0
  493. package/dist/node_modules/bullmq/dist/esm/interfaces/parent-message.js +2 -0
  494. package/dist/node_modules/bullmq/dist/esm/interfaces/parent.d.ts +20 -0
  495. package/dist/node_modules/bullmq/dist/esm/interfaces/parent.js +2 -0
  496. package/dist/node_modules/bullmq/dist/esm/interfaces/queue-options.d.ts +97 -0
  497. package/dist/node_modules/bullmq/dist/esm/interfaces/queue-options.js +6 -0
  498. package/dist/node_modules/bullmq/dist/esm/interfaces/rate-limiter-options.d.ts +12 -0
  499. package/dist/node_modules/bullmq/dist/esm/interfaces/rate-limiter-options.js +2 -0
  500. package/dist/node_modules/bullmq/dist/esm/interfaces/redis-options.d.ts +8 -0
  501. package/dist/node_modules/bullmq/dist/esm/interfaces/redis-options.js +2 -0
  502. package/dist/node_modules/bullmq/dist/esm/interfaces/redis-streams.d.ts +4 -0
  503. package/dist/node_modules/bullmq/dist/esm/interfaces/redis-streams.js +2 -0
  504. package/dist/node_modules/bullmq/dist/esm/interfaces/repeat-options.d.ts +51 -0
  505. package/dist/node_modules/bullmq/dist/esm/interfaces/repeat-options.js +2 -0
  506. package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-job.d.ts +10 -0
  507. package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-job.js +2 -0
  508. package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-options.d.ts +7 -0
  509. package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-options.js +2 -0
  510. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job-processor.d.ts +5 -0
  511. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job-processor.js +2 -0
  512. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job.d.ts +13 -0
  513. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job.js +2 -0
  514. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-options.d.ts +28 -0
  515. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-options.js +2 -0
  516. package/dist/node_modules/bullmq/dist/esm/interfaces/telemetry.d.ts +150 -0
  517. package/dist/node_modules/bullmq/dist/esm/interfaces/telemetry.js +2 -0
  518. package/dist/node_modules/bullmq/dist/esm/interfaces/worker-options.d.ts +133 -0
  519. package/dist/node_modules/bullmq/dist/esm/interfaces/worker-options.js +2 -0
  520. package/dist/node_modules/bullmq/dist/esm/scripts/addDelayedJob-6.d.ts +5 -0
  521. package/dist/node_modules/bullmq/dist/esm/scripts/addDelayedJob-6.js +370 -0
  522. package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-2.d.ts +5 -0
  523. package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-2.js +234 -0
  524. package/dist/node_modules/bullmq/dist/esm/scripts/addLog-2.d.ts +5 -0
  525. package/dist/node_modules/bullmq/dist/esm/scripts/addLog-2.js +30 -0
  526. package/dist/node_modules/bullmq/dist/esm/scripts/addParentJob-4.d.ts +5 -0
  527. package/dist/node_modules/bullmq/dist/esm/scripts/addParentJob-4.js +337 -0
  528. package/dist/node_modules/bullmq/dist/esm/scripts/addPrioritizedJob-8.d.ts +5 -0
  529. package/dist/node_modules/bullmq/dist/esm/scripts/addPrioritizedJob-8.js +347 -0
  530. package/dist/node_modules/bullmq/dist/esm/scripts/addRepeatableJob-2.d.ts +5 -0
  531. package/dist/node_modules/bullmq/dist/esm/scripts/addRepeatableJob-2.js +227 -0
  532. package/dist/node_modules/bullmq/dist/esm/scripts/addStandardJob-8.d.ts +5 -0
  533. package/dist/node_modules/bullmq/dist/esm/scripts/addStandardJob-8.js +351 -0
  534. package/dist/node_modules/bullmq/dist/esm/scripts/changeDelay-4.d.ts +5 -0
  535. package/dist/node_modules/bullmq/dist/esm/scripts/changeDelay-4.js +104 -0
  536. package/dist/node_modules/bullmq/dist/esm/scripts/changePriority-7.d.ts +5 -0
  537. package/dist/node_modules/bullmq/dist/esm/scripts/changePriority-7.js +119 -0
  538. package/dist/node_modules/bullmq/dist/esm/scripts/cleanJobsInSet-3.d.ts +5 -0
  539. package/dist/node_modules/bullmq/dist/esm/scripts/cleanJobsInSet-3.js +347 -0
  540. package/dist/node_modules/bullmq/dist/esm/scripts/drain-5.d.ts +5 -0
  541. package/dist/node_modules/bullmq/dist/esm/scripts/drain-5.js +255 -0
  542. package/dist/node_modules/bullmq/dist/esm/scripts/extendLock-2.d.ts +5 -0
  543. package/dist/node_modules/bullmq/dist/esm/scripts/extendLock-2.js +27 -0
  544. package/dist/node_modules/bullmq/dist/esm/scripts/extendLocks-1.d.ts +5 -0
  545. package/dist/node_modules/bullmq/dist/esm/scripts/extendLocks-1.js +43 -0
  546. package/dist/node_modules/bullmq/dist/esm/scripts/getCounts-1.d.ts +5 -0
  547. package/dist/node_modules/bullmq/dist/esm/scripts/getCounts-1.js +39 -0
  548. package/dist/node_modules/bullmq/dist/esm/scripts/getCountsPerPriority-4.d.ts +5 -0
  549. package/dist/node_modules/bullmq/dist/esm/scripts/getCountsPerPriority-4.js +43 -0
  550. package/dist/node_modules/bullmq/dist/esm/scripts/getJobScheduler-1.d.ts +5 -0
  551. package/dist/node_modules/bullmq/dist/esm/scripts/getJobScheduler-1.js +20 -0
  552. package/dist/node_modules/bullmq/dist/esm/scripts/getRanges-1.d.ts +5 -0
  553. package/dist/node_modules/bullmq/dist/esm/scripts/getRanges-1.js +70 -0
  554. package/dist/node_modules/bullmq/dist/esm/scripts/getRateLimitTtl-1.d.ts +5 -0
  555. package/dist/node_modules/bullmq/dist/esm/scripts/getRateLimitTtl-1.js +36 -0
  556. package/dist/node_modules/bullmq/dist/esm/scripts/getState-8.d.ts +5 -0
  557. package/dist/node_modules/bullmq/dist/esm/scripts/getState-8.js +70 -0
  558. package/dist/node_modules/bullmq/dist/esm/scripts/getStateV2-8.d.ts +5 -0
  559. package/dist/node_modules/bullmq/dist/esm/scripts/getStateV2-8.js +54 -0
  560. package/dist/node_modules/bullmq/dist/esm/scripts/index.d.ts +45 -0
  561. package/dist/node_modules/bullmq/dist/esm/scripts/index.js +46 -0
  562. package/dist/node_modules/bullmq/dist/esm/scripts/isFinished-3.d.ts +5 -0
  563. package/dist/node_modules/bullmq/dist/esm/scripts/isFinished-3.js +46 -0
  564. package/dist/node_modules/bullmq/dist/esm/scripts/isJobInList-1.d.ts +5 -0
  565. package/dist/node_modules/bullmq/dist/esm/scripts/isJobInList-1.js +29 -0
  566. package/dist/node_modules/bullmq/dist/esm/scripts/isMaxed-2.d.ts +5 -0
  567. package/dist/node_modules/bullmq/dist/esm/scripts/isMaxed-2.js +31 -0
  568. package/dist/node_modules/bullmq/dist/esm/scripts/moveJobFromActiveToWait-10.d.ts +5 -0
  569. package/dist/node_modules/bullmq/dist/esm/scripts/moveJobFromActiveToWait-10.js +107 -0
  570. package/dist/node_modules/bullmq/dist/esm/scripts/moveJobsToWait-8.d.ts +5 -0
  571. package/dist/node_modules/bullmq/dist/esm/scripts/moveJobsToWait-8.js +115 -0
  572. package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-9.d.ts +5 -0
  573. package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-9.js +526 -0
  574. package/dist/node_modules/bullmq/dist/esm/scripts/moveToActive-11.d.ts +5 -0
  575. package/dist/node_modules/bullmq/dist/esm/scripts/moveToActive-11.js +230 -0
  576. package/dist/node_modules/bullmq/dist/esm/scripts/moveToDelayed-8.d.ts +5 -0
  577. package/dist/node_modules/bullmq/dist/esm/scripts/moveToDelayed-8.js +153 -0
  578. package/dist/node_modules/bullmq/dist/esm/scripts/moveToFinished-14.d.ts +5 -0
  579. package/dist/node_modules/bullmq/dist/esm/scripts/moveToFinished-14.js +795 -0
  580. package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-5.d.ts +5 -0
  581. package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-5.js +80 -0
  582. package/dist/node_modules/bullmq/dist/esm/scripts/obliterate-2.d.ts +5 -0
  583. package/dist/node_modules/bullmq/dist/esm/scripts/obliterate-2.js +324 -0
  584. package/dist/node_modules/bullmq/dist/esm/scripts/paginate-1.d.ts +5 -0
  585. package/dist/node_modules/bullmq/dist/esm/scripts/paginate-1.js +107 -0
  586. package/dist/node_modules/bullmq/dist/esm/scripts/pause-7.d.ts +5 -0
  587. package/dist/node_modules/bullmq/dist/esm/scripts/pause-7.js +64 -0
  588. package/dist/node_modules/bullmq/dist/esm/scripts/promote-9.d.ts +5 -0
  589. package/dist/node_modules/bullmq/dist/esm/scripts/promote-9.js +102 -0
  590. package/dist/node_modules/bullmq/dist/esm/scripts/releaseLock-1.d.ts +5 -0
  591. package/dist/node_modules/bullmq/dist/esm/scripts/releaseLock-1.js +22 -0
  592. package/dist/node_modules/bullmq/dist/esm/scripts/removeChildDependency-1.d.ts +5 -0
  593. package/dist/node_modules/bullmq/dist/esm/scripts/removeChildDependency-1.js +162 -0
  594. package/dist/node_modules/bullmq/dist/esm/scripts/removeJob-2.d.ts +5 -0
  595. package/dist/node_modules/bullmq/dist/esm/scripts/removeJob-2.js +289 -0
  596. package/dist/node_modules/bullmq/dist/esm/scripts/removeJobScheduler-3.d.ts +5 -0
  597. package/dist/node_modules/bullmq/dist/esm/scripts/removeJobScheduler-3.js +46 -0
  598. package/dist/node_modules/bullmq/dist/esm/scripts/removeRepeatable-3.d.ts +5 -0
  599. package/dist/node_modules/bullmq/dist/esm/scripts/removeRepeatable-3.js +60 -0
  600. package/dist/node_modules/bullmq/dist/esm/scripts/reprocessJob-8.d.ts +5 -0
  601. package/dist/node_modules/bullmq/dist/esm/scripts/reprocessJob-8.js +93 -0
  602. package/dist/node_modules/bullmq/dist/esm/scripts/retryJob-11.d.ts +5 -0
  603. package/dist/node_modules/bullmq/dist/esm/scripts/retryJob-11.js +190 -0
  604. package/dist/node_modules/bullmq/dist/esm/scripts/saveStacktrace-1.d.ts +5 -0
  605. package/dist/node_modules/bullmq/dist/esm/scripts/saveStacktrace-1.js +24 -0
  606. package/dist/node_modules/bullmq/dist/esm/scripts/updateData-1.d.ts +5 -0
  607. package/dist/node_modules/bullmq/dist/esm/scripts/updateData-1.js +23 -0
  608. package/dist/node_modules/bullmq/dist/esm/scripts/updateProgress-3.d.ts +5 -0
  609. package/dist/node_modules/bullmq/dist/esm/scripts/updateProgress-3.js +43 -0
  610. package/dist/node_modules/bullmq/dist/esm/scripts/updateRepeatableJobMillis-1.d.ts +5 -0
  611. package/dist/node_modules/bullmq/dist/esm/scripts/updateRepeatableJobMillis-1.js +30 -0
  612. package/dist/node_modules/bullmq/dist/esm/tsconfig.tsbuildinfo +1 -0
  613. package/dist/node_modules/bullmq/dist/esm/types/backoff-strategy.d.ts +2 -0
  614. package/dist/node_modules/bullmq/dist/esm/types/backoff-strategy.js +2 -0
  615. package/dist/node_modules/bullmq/dist/esm/types/finished-status.d.ts +2 -0
  616. package/dist/node_modules/bullmq/dist/esm/types/finished-status.js +2 -0
  617. package/dist/node_modules/bullmq/dist/esm/types/index.d.ts +8 -0
  618. package/dist/node_modules/bullmq/dist/esm/types/index.js +9 -0
  619. package/dist/node_modules/bullmq/dist/esm/types/job-json-sandbox.d.ts +5 -0
  620. package/dist/node_modules/bullmq/dist/esm/types/job-json-sandbox.js +2 -0
  621. package/dist/node_modules/bullmq/dist/esm/types/job-options.d.ts +81 -0
  622. package/dist/node_modules/bullmq/dist/esm/types/job-options.js +2 -0
  623. package/dist/node_modules/bullmq/dist/esm/types/job-scheduler-template-options.d.ts +2 -0
  624. package/dist/node_modules/bullmq/dist/esm/types/job-scheduler-template-options.js +2 -0
  625. package/dist/node_modules/bullmq/dist/esm/types/job-type.d.ts +3 -0
  626. package/dist/node_modules/bullmq/dist/esm/types/job-type.js +2 -0
  627. package/dist/node_modules/bullmq/dist/esm/types/minimal-queue.d.ts +2 -0
  628. package/dist/node_modules/bullmq/dist/esm/types/minimal-queue.js +2 -0
  629. package/dist/node_modules/bullmq/dist/esm/types/repeat-strategy.d.ts +2 -0
  630. package/dist/node_modules/bullmq/dist/esm/types/repeat-strategy.js +2 -0
  631. package/dist/node_modules/bullmq/dist/esm/utils.d.ts +72 -0
  632. package/dist/node_modules/bullmq/dist/esm/utils.js +263 -0
  633. package/dist/node_modules/bullmq/dist/esm/version.d.ts +1 -0
  634. package/dist/node_modules/bullmq/dist/esm/version.js +2 -0
  635. package/dist/node_modules/bullmq/node_modules/.bin/semver +17 -0
  636. package/dist/node_modules/bullmq/node_modules/.bin/uuid +17 -0
  637. package/dist/node_modules/bullmq/package.json +1 -0
  638. package/dist/server/index.d.ts +1 -0
  639. package/dist/server/index.js +33 -0
  640. package/dist/server/plugin.d.ts +11 -0
  641. package/dist/server/plugin.js +63 -0
  642. package/package.json +18 -0
  643. package/server.d.ts +2 -0
  644. package/server.js +1 -0
@@ -0,0 +1,795 @@
1
+ const content = `--[[
2
+ Move job from active to a finished status (completed o failed)
3
+ A job can only be moved to completed if it was active.
4
+ The job must be locked before it can be moved to a finished status,
5
+ and the lock must be released in this script.
6
+ Input:
7
+ KEYS[1] wait key
8
+ KEYS[2] active key
9
+ KEYS[3] prioritized key
10
+ KEYS[4] event stream key
11
+ KEYS[5] stalled key
12
+ -- Rate limiting
13
+ KEYS[6] rate limiter key
14
+ KEYS[7] delayed key
15
+ KEYS[8] paused key
16
+ KEYS[9] meta key
17
+ KEYS[10] pc priority counter
18
+ KEYS[11] completed/failed key
19
+ KEYS[12] jobId key
20
+ KEYS[13] metrics key
21
+ KEYS[14] marker key
22
+ ARGV[1] jobId
23
+ ARGV[2] timestamp
24
+ ARGV[3] msg property returnvalue / failedReason
25
+ ARGV[4] return value / failed reason
26
+ ARGV[5] target (completed/failed)
27
+ ARGV[6] fetch next?
28
+ ARGV[7] keys prefix
29
+ ARGV[8] opts
30
+ ARGV[9] job fields to update
31
+ opts - token - lock token
32
+ opts - keepJobs
33
+ opts - lockDuration - lock duration in milliseconds
34
+ opts - attempts max attempts
35
+ opts - maxMetricsSize
36
+ opts - fpof - fail parent on fail
37
+ opts - idof - ignore dependency on fail
38
+ opts - rdof - remove dependency on fail
39
+ Output:
40
+ 0 OK
41
+ -1 Missing key.
42
+ -2 Missing lock.
43
+ -3 Job not in active set
44
+ -4 Job has pending dependencies
45
+ -6 Lock is not owned by this client
46
+ Events:
47
+ 'completed/failed'
48
+ ]]
49
+ local rcall = redis.call
50
+ --- Includes
51
+ --[[
52
+ Functions to collect metrics based on a current and previous count of jobs.
53
+ Granualarity is fixed at 1 minute.
54
+ ]]
55
+ --[[
56
+ Function to loop in batches.
57
+ Just a bit of warning, some commands as ZREM
58
+ could receive a maximum of 7000 parameters per call.
59
+ ]]
60
+ local function batches(n, batchSize)
61
+ local i = 0
62
+ return function()
63
+ local from = i * batchSize + 1
64
+ i = i + 1
65
+ if (from <= n) then
66
+ local to = math.min(from + batchSize - 1, n)
67
+ return from, to
68
+ end
69
+ end
70
+ end
71
+ local function collectMetrics(metaKey, dataPointsList, maxDataPoints,
72
+ timestamp)
73
+ -- Increment current count
74
+ local count = rcall("HINCRBY", metaKey, "count", 1) - 1
75
+ -- Compute how many data points we need to add to the list, N.
76
+ local prevTS = rcall("HGET", metaKey, "prevTS")
77
+ if not prevTS then
78
+ -- If prevTS is nil, set it to the current timestamp
79
+ rcall("HSET", metaKey, "prevTS", timestamp, "prevCount", 0)
80
+ return
81
+ end
82
+ local N = math.min(math.floor(timestamp / 60000) - math.floor(prevTS / 60000), tonumber(maxDataPoints))
83
+ if N > 0 then
84
+ local delta = count - rcall("HGET", metaKey, "prevCount")
85
+ -- If N > 1, add N-1 zeros to the list
86
+ if N > 1 then
87
+ local points = {}
88
+ points[1] = delta
89
+ for i = 2, N do
90
+ points[i] = 0
91
+ end
92
+ for from, to in batches(#points, 7000) do
93
+ rcall("LPUSH", dataPointsList, unpack(points, from, to))
94
+ end
95
+ else
96
+ -- LPUSH delta to the list
97
+ rcall("LPUSH", dataPointsList, delta)
98
+ end
99
+ -- LTRIM to keep list to its max size
100
+ rcall("LTRIM", dataPointsList, 0, maxDataPoints - 1)
101
+ -- update prev count with current count
102
+ rcall("HSET", metaKey, "prevCount", count, "prevTS", timestamp)
103
+ end
104
+ end
105
+ --[[
106
+ Function to return the next delayed job timestamp.
107
+ ]]
108
+ local function getNextDelayedTimestamp(delayedKey)
109
+ local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
110
+ if #result then
111
+ local nextTimestamp = tonumber(result[2])
112
+ if nextTimestamp ~= nil then
113
+ return nextTimestamp / 0x1000
114
+ end
115
+ end
116
+ end
117
+ --[[
118
+ Function to get current rate limit ttl.
119
+ ]]
120
+ local function getRateLimitTTL(maxJobs, rateLimiterKey)
121
+ if maxJobs and maxJobs <= tonumber(rcall("GET", rateLimiterKey) or 0) then
122
+ local pttl = rcall("PTTL", rateLimiterKey)
123
+ if pttl == 0 then
124
+ rcall("DEL", rateLimiterKey)
125
+ end
126
+ if pttl > 0 then
127
+ return pttl
128
+ end
129
+ end
130
+ return 0
131
+ end
132
+ --[[
133
+ Function to check for the meta.paused key to decide if we are paused or not
134
+ (since an empty list and !EXISTS are not really the same).
135
+ ]]
136
+ local function getTargetQueueList(queueMetaKey, activeKey, waitKey, pausedKey)
137
+ local queueAttributes = rcall("HMGET", queueMetaKey, "paused", "concurrency")
138
+ if queueAttributes[1] then
139
+ return pausedKey, true
140
+ else
141
+ if queueAttributes[2] then
142
+ local activeCount = rcall("LLEN", activeKey)
143
+ if activeCount >= tonumber(queueAttributes[2]) then
144
+ return waitKey, true
145
+ else
146
+ return waitKey, false
147
+ end
148
+ end
149
+ end
150
+ return waitKey, false
151
+ end
152
+ --[[
153
+ Function to move job from prioritized state to active.
154
+ ]]
155
+ local function moveJobFromPriorityToActive(priorityKey, activeKey, priorityCounterKey)
156
+ local prioritizedJob = rcall("ZPOPMIN", priorityKey)
157
+ if #prioritizedJob > 0 then
158
+ rcall("LPUSH", activeKey, prioritizedJob[1])
159
+ return prioritizedJob[1]
160
+ else
161
+ rcall("DEL", priorityCounterKey)
162
+ end
163
+ end
164
+ --[[
165
+ Function to recursively move from waitingChildren to failed.
166
+ ]]
167
+ -- Includes
168
+ --[[
169
+ Validate and move parent to active if needed.
170
+ ]]
171
+ -- Includes
172
+ --[[
173
+ Add delay marker if needed.
174
+ ]]
175
+ -- Includes
176
+ local function addDelayMarkerIfNeeded(markerKey, delayedKey)
177
+ local nextTimestamp = getNextDelayedTimestamp(delayedKey)
178
+ if nextTimestamp ~= nil then
179
+ -- Replace the score of the marker with the newest known
180
+ -- next timestamp.
181
+ rcall("ZADD", markerKey, nextTimestamp, "1")
182
+ end
183
+ end
184
+ --[[
185
+ Function to add job in target list and add marker if needed.
186
+ ]]
187
+ -- Includes
188
+ --[[
189
+ Add marker if needed when a job is available.
190
+ ]]
191
+ local function addBaseMarkerIfNeeded(markerKey, isPausedOrMaxed)
192
+ if not isPausedOrMaxed then
193
+ rcall("ZADD", markerKey, 0, "0")
194
+ end
195
+ end
196
+ local function addJobInTargetList(targetKey, markerKey, pushCmd, isPausedOrMaxed, jobId)
197
+ rcall(pushCmd, targetKey, jobId)
198
+ addBaseMarkerIfNeeded(markerKey, isPausedOrMaxed)
199
+ end
200
+ --[[
201
+ Function to add job considering priority.
202
+ ]]
203
+ -- Includes
204
+ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, priorityCounterKey,
205
+ isPausedOrMaxed)
206
+ local prioCounter = rcall("INCR", priorityCounterKey)
207
+ local score = priority * 0x100000000 + prioCounter % 0x100000000
208
+ rcall("ZADD", prioritizedKey, score, jobId)
209
+ addBaseMarkerIfNeeded(markerKey, isPausedOrMaxed)
210
+ end
211
+ --[[
212
+ Function to check if queue is paused or maxed
213
+ (since an empty list and !EXISTS are not really the same).
214
+ ]]
215
+ local function isQueuePausedOrMaxed(queueMetaKey, activeKey)
216
+ local queueAttributes = rcall("HMGET", queueMetaKey, "paused", "concurrency")
217
+ if queueAttributes[1] then
218
+ return true
219
+ else
220
+ if queueAttributes[2] then
221
+ local activeCount = rcall("LLEN", activeKey)
222
+ return activeCount >= tonumber(queueAttributes[2])
223
+ end
224
+ end
225
+ return false
226
+ end
227
+ local function moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey,
228
+ parentKey, parentId, timestamp)
229
+ local isParentActive = rcall("ZSCORE",
230
+ parentQueueKey .. ":waiting-children", parentId)
231
+ if rcall("SCARD", parentDependenciesKey) == 0 and isParentActive then
232
+ rcall("ZREM", parentQueueKey .. ":waiting-children", parentId)
233
+ local parentWaitKey = parentQueueKey .. ":wait"
234
+ local parentPausedKey = parentQueueKey .. ":paused"
235
+ local parentActiveKey = parentQueueKey .. ":active"
236
+ local parentMetaKey = parentQueueKey .. ":meta"
237
+ local parentMarkerKey = parentQueueKey .. ":marker"
238
+ local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
239
+ local priority = tonumber(jobAttributes[1]) or 0
240
+ local delay = tonumber(jobAttributes[2]) or 0
241
+ if delay > 0 then
242
+ local delayedTimestamp = tonumber(timestamp) + delay
243
+ local score = delayedTimestamp * 0x1000
244
+ local parentDelayedKey = parentQueueKey .. ":delayed"
245
+ rcall("ZADD", parentDelayedKey, score, parentId)
246
+ rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed",
247
+ "jobId", parentId, "delay", delayedTimestamp)
248
+ addDelayMarkerIfNeeded(parentMarkerKey, parentDelayedKey)
249
+ else
250
+ if priority == 0 then
251
+ local parentTarget, isParentPausedOrMaxed =
252
+ getTargetQueueList(parentMetaKey, parentActiveKey, parentWaitKey,
253
+ parentPausedKey)
254
+ addJobInTargetList(parentTarget, parentMarkerKey, "RPUSH", isParentPausedOrMaxed,
255
+ parentId)
256
+ else
257
+ local isPausedOrMaxed = isQueuePausedOrMaxed(parentMetaKey, parentActiveKey)
258
+ addJobWithPriority(parentMarkerKey,
259
+ parentQueueKey .. ":prioritized", priority,
260
+ parentId, parentQueueKey .. ":pc", isPausedOrMaxed)
261
+ end
262
+ rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting",
263
+ "jobId", parentId, "prev", "waiting-children")
264
+ end
265
+ end
266
+ end
267
+ --[[
268
+ Function to remove deduplication key if needed.
269
+ ]]
270
+ local function removeDeduplicationKeyIfNeeded(prefixKey, deduplicationId)
271
+ if deduplicationId then
272
+ local deduplicationKey = prefixKey .. "de:" .. deduplicationId
273
+ local pttl = rcall("PTTL", deduplicationKey)
274
+ if pttl == 0 or pttl == -1 then
275
+ rcall("DEL", deduplicationKey)
276
+ end
277
+ end
278
+ end
279
+ --[[
280
+ Functions to remove jobs when removeOnFail option is provided.
281
+ ]]
282
+ -- Includes
283
+ --[[
284
+ Function to remove job.
285
+ ]]
286
+ -- Includes
287
+ --[[
288
+ Function to remove deduplication key.
289
+ ]]
290
+ local function removeDeduplicationKey(prefixKey, jobKey)
291
+ local deduplicationId = rcall("HGET", jobKey, "deid")
292
+ if deduplicationId then
293
+ local deduplicationKey = prefixKey .. "de:" .. deduplicationId
294
+ rcall("DEL", deduplicationKey)
295
+ end
296
+ end
297
+ --[[
298
+ Function to remove job keys.
299
+ ]]
300
+ local function removeJobKeys(jobKey)
301
+ return rcall("DEL", jobKey, jobKey .. ':logs',
302
+ jobKey .. ':dependencies', jobKey .. ':processed', jobKey .. ':failed')
303
+ end
304
+ --[[
305
+ Check if this job has a parent. If so we will just remove it from
306
+ the parent child list, but if it is the last child we should move the parent to "wait/paused"
307
+ which requires code from "moveToFinished"
308
+ ]]
309
+ -- Includes
310
+ --[[
311
+ Functions to destructure job key.
312
+ Just a bit of warning, these functions may be a bit slow and affect performance significantly.
313
+ ]]
314
+ local getJobIdFromKey = function (jobKey)
315
+ return string.match(jobKey, ".*:(.*)")
316
+ end
317
+ local getJobKeyPrefix = function (jobKey, jobId)
318
+ return string.sub(jobKey, 0, #jobKey - #jobId)
319
+ end
320
+ local function moveParentToWait(parentPrefix, parentId, emitEvent)
321
+ local parentTarget, isPausedOrMaxed = getTargetQueueList(parentPrefix .. "meta", parentPrefix .. "active",
322
+ parentPrefix .. "wait", parentPrefix .. "paused")
323
+ addJobInTargetList(parentTarget, parentPrefix .. "marker", "RPUSH", isPausedOrMaxed, parentId)
324
+ if emitEvent then
325
+ local parentEventStream = parentPrefix .. "events"
326
+ rcall("XADD", parentEventStream, "*", "event", "waiting", "jobId", parentId, "prev", "waiting-children")
327
+ end
328
+ end
329
+ local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey, debounceId)
330
+ if parentKey then
331
+ local parentDependenciesKey = parentKey .. ":dependencies"
332
+ local result = rcall("SREM", parentDependenciesKey, jobKey)
333
+ if result > 0 then
334
+ local pendingDependencies = rcall("SCARD", parentDependenciesKey)
335
+ if pendingDependencies == 0 then
336
+ local parentId = getJobIdFromKey(parentKey)
337
+ local parentPrefix = getJobKeyPrefix(parentKey, parentId)
338
+ local numRemovedElements = rcall("ZREM", parentPrefix .. "waiting-children", parentId)
339
+ if numRemovedElements == 1 then
340
+ if hard then -- remove parent in same queue
341
+ if parentPrefix == baseKey then
342
+ removeParentDependencyKey(parentKey, hard, nil, baseKey, nil)
343
+ removeJobKeys(parentKey)
344
+ if debounceId then
345
+ rcall("DEL", parentPrefix .. "de:" .. debounceId)
346
+ end
347
+ else
348
+ moveParentToWait(parentPrefix, parentId)
349
+ end
350
+ else
351
+ moveParentToWait(parentPrefix, parentId, true)
352
+ end
353
+ end
354
+ end
355
+ return true
356
+ end
357
+ else
358
+ local parentAttributes = rcall("HMGET", jobKey, "parentKey", "deid")
359
+ local missedParentKey = parentAttributes[1]
360
+ if( (type(missedParentKey) == "string") and missedParentKey ~= ""
361
+ and (rcall("EXISTS", missedParentKey) == 1)) then
362
+ local parentDependenciesKey = missedParentKey .. ":dependencies"
363
+ local result = rcall("SREM", parentDependenciesKey, jobKey)
364
+ if result > 0 then
365
+ local pendingDependencies = rcall("SCARD", parentDependenciesKey)
366
+ if pendingDependencies == 0 then
367
+ local parentId = getJobIdFromKey(missedParentKey)
368
+ local parentPrefix = getJobKeyPrefix(missedParentKey, parentId)
369
+ local numRemovedElements = rcall("ZREM", parentPrefix .. "waiting-children", parentId)
370
+ if numRemovedElements == 1 then
371
+ if hard then
372
+ if parentPrefix == baseKey then
373
+ removeParentDependencyKey(missedParentKey, hard, nil, baseKey, nil)
374
+ removeJobKeys(missedParentKey)
375
+ if parentAttributes[2] then
376
+ rcall("DEL", parentPrefix .. "de:" .. parentAttributes[2])
377
+ end
378
+ else
379
+ moveParentToWait(parentPrefix, parentId)
380
+ end
381
+ else
382
+ moveParentToWait(parentPrefix, parentId, true)
383
+ end
384
+ end
385
+ end
386
+ return true
387
+ end
388
+ end
389
+ end
390
+ return false
391
+ end
392
+ local function removeJob(jobId, hard, baseKey, shouldRemoveDeduplicationKey)
393
+ local jobKey = baseKey .. jobId
394
+ removeParentDependencyKey(jobKey, hard, nil, baseKey)
395
+ if shouldRemoveDeduplicationKey then
396
+ removeDeduplicationKey(baseKey, jobKey)
397
+ end
398
+ removeJobKeys(jobKey)
399
+ end
400
+ --[[
401
+ Functions to remove jobs by max age.
402
+ ]]
403
+ -- Includes
404
+ local function removeJobsByMaxAge(timestamp, maxAge, targetSet, prefix,
405
+ shouldRemoveDebounceKey)
406
+ local start = timestamp - maxAge * 1000
407
+ local jobIds = rcall("ZREVRANGEBYSCORE", targetSet, start, "-inf")
408
+ for i, jobId in ipairs(jobIds) do
409
+ removeJob(jobId, false, prefix, false --[[remove debounce key]])
410
+ end
411
+ rcall("ZREMRANGEBYSCORE", targetSet, "-inf", start)
412
+ end
413
+ --[[
414
+ Functions to remove jobs by max count.
415
+ ]]
416
+ -- Includes
417
+ local function removeJobsByMaxCount(maxCount, targetSet, prefix)
418
+ local start = maxCount
419
+ local jobIds = rcall("ZREVRANGE", targetSet, start, -1)
420
+ for i, jobId in ipairs(jobIds) do
421
+ removeJob(jobId, false, prefix, false --[[remove debounce key]])
422
+ end
423
+ rcall("ZREMRANGEBYRANK", targetSet, 0, -(maxCount + 1))
424
+ end
425
+ local function removeJobsOnFail(queueKeyPrefix, failedKey, jobId, opts, timestamp)
426
+ local removeOnFailType = type(opts["removeOnFail"])
427
+ if removeOnFailType == "number" then
428
+ removeJobsByMaxCount(opts["removeOnFail"],
429
+ failedKey, queueKeyPrefix)
430
+ elseif removeOnFailType == "boolean" then
431
+ if opts["removeOnFail"] then
432
+ removeJob(jobId, false, queueKeyPrefix,
433
+ false --[[remove debounce key]])
434
+ rcall("ZREM", failedKey, jobId)
435
+ end
436
+ elseif removeOnFailType ~= "nil" then
437
+ local maxAge = opts["removeOnFail"]["age"]
438
+ local maxCount = opts["removeOnFail"]["count"]
439
+ if maxAge ~= nil then
440
+ removeJobsByMaxAge(timestamp, maxAge,
441
+ failedKey, queueKeyPrefix)
442
+ end
443
+ if maxCount ~= nil and maxCount > 0 then
444
+ removeJobsByMaxCount(maxCount, failedKey,
445
+ queueKeyPrefix)
446
+ end
447
+ end
448
+ end
449
+ local function moveParentFromWaitingChildrenToFailed( parentQueueKey, parentKey, parentId, jobIdKey, timestamp)
450
+ if rcall("ZREM", parentQueueKey .. ":waiting-children", parentId) == 1 then
451
+ local parentQueuePrefix = parentQueueKey .. ":"
452
+ local parentFailedKey = parentQueueKey .. ":failed"
453
+ rcall("ZADD", parentFailedKey, timestamp, parentId)
454
+ local failedReason = "child " .. jobIdKey .. " failed"
455
+ rcall("HMSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
456
+ rcall("XADD", parentQueueKey .. ":events", "*", "event", "failed", "jobId", parentId, "failedReason",
457
+ failedReason, "prev", "waiting-children")
458
+ local jobAttributes = rcall("HMGET", parentKey, "parent", "deid", "opts")
459
+ removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
460
+ if jobAttributes[1] then
461
+ local parentData = cjson.decode(jobAttributes[1])
462
+ if parentData['fpof'] then
463
+ moveParentFromWaitingChildrenToFailed(
464
+ parentData['queueKey'],
465
+ parentData['queueKey'] .. ':' .. parentData['id'],
466
+ parentData['id'],
467
+ parentKey,
468
+ timestamp
469
+ )
470
+ elseif parentData['idof'] or parentData['rdof'] then
471
+ local grandParentKey = parentData['queueKey'] .. ':' .. parentData['id']
472
+ local grandParentDependenciesSet = grandParentKey .. ":dependencies"
473
+ if rcall("SREM", grandParentDependenciesSet, parentKey) == 1 then
474
+ moveParentToWaitIfNeeded(parentData['queueKey'], grandParentDependenciesSet,
475
+ grandParentKey, parentData['id'], timestamp)
476
+ if parentData['idof'] then
477
+ local grandParentFailedSet = grandParentKey .. ":failed"
478
+ rcall("HSET", grandParentFailedSet, parentKey, failedReason)
479
+ end
480
+ end
481
+ end
482
+ end
483
+ local parentRawOpts = jobAttributes[3]
484
+ local parentOpts = cjson.decode(parentRawOpts)
485
+ removeJobsOnFail(parentQueuePrefix, parentFailedKey, parentId, parentOpts, timestamp)
486
+ end
487
+ end
488
+ --[[
489
+ Function to move job from wait state to active.
490
+ Input:
491
+ opts - token - lock token
492
+ opts - lockDuration
493
+ opts - limiter
494
+ ]]
495
+ -- Includes
496
+ local function prepareJobForProcessing(keyPrefix, rateLimiterKey, eventStreamKey,
497
+ jobId, processedOn, maxJobs, markerKey, opts)
498
+ local jobKey = keyPrefix .. jobId
499
+ -- Check if we need to perform rate limiting.
500
+ if maxJobs then
501
+ local jobCounter = tonumber(rcall("INCR", rateLimiterKey))
502
+ if jobCounter == 1 then
503
+ local limiterDuration = opts['limiter'] and opts['limiter']['duration']
504
+ local integerDuration = math.floor(math.abs(limiterDuration))
505
+ rcall("PEXPIRE", rateLimiterKey, integerDuration)
506
+ end
507
+ end
508
+ local lockKey = jobKey .. ':lock'
509
+ -- get a lock
510
+ if opts['token'] ~= "0" then
511
+ rcall("SET", lockKey, opts['token'], "PX", opts['lockDuration'])
512
+ end
513
+ local optionalValues = {}
514
+ if opts['name'] then
515
+ -- Set "processedBy" field to the worker name
516
+ table.insert(optionalValues, "pb")
517
+ table.insert(optionalValues, opts['name'])
518
+ end
519
+ rcall("XADD", eventStreamKey, "*", "event", "active", "jobId", jobId, "prev", "waiting")
520
+ rcall("HMSET", jobKey, "processedOn", processedOn, unpack(optionalValues))
521
+ rcall("HINCRBY", jobKey, "ats", 1)
522
+ addBaseMarkerIfNeeded(markerKey, false)
523
+ return {rcall("HGETALL", jobKey), jobId, 0, 0} -- get job data
524
+ end
525
+ --[[
526
+ Updates the delay set, by moving delayed jobs that should
527
+ be processed now to "wait".
528
+ Events:
529
+ 'waiting'
530
+ ]]
531
+ -- Includes
532
+ -- Try to get as much as 1000 jobs at once
533
+ local function promoteDelayedJobs(delayedKey, markerKey, targetKey, prioritizedKey,
534
+ eventStreamKey, prefix, timestamp, priorityCounterKey, isPaused)
535
+ local jobs = rcall("ZRANGEBYSCORE", delayedKey, 0, (timestamp + 1) * 0x1000 - 1, "LIMIT", 0, 1000)
536
+ if (#jobs > 0) then
537
+ rcall("ZREM", delayedKey, unpack(jobs))
538
+ for _, jobId in ipairs(jobs) do
539
+ local jobKey = prefix .. jobId
540
+ local priority =
541
+ tonumber(rcall("HGET", jobKey, "priority")) or 0
542
+ if priority == 0 then
543
+ -- LIFO or FIFO
544
+ addJobInTargetList(targetKey, markerKey, "LPUSH", isPaused, jobId)
545
+ else
546
+ addJobWithPriority(markerKey, prioritizedKey, priority,
547
+ jobId, priorityCounterKey, isPaused)
548
+ end
549
+ -- Emit waiting event
550
+ rcall("XADD", eventStreamKey, "*", "event", "waiting", "jobId",
551
+ jobId, "prev", "delayed")
552
+ rcall("HSET", jobKey, "delay", 0)
553
+ end
554
+ end
555
+ end
556
+ local function removeLock(jobKey, stalledKey, token, jobId)
557
+ if token ~= "0" then
558
+ local lockKey = jobKey .. ':lock'
559
+ local lockToken = rcall("GET", lockKey)
560
+ if lockToken == token then
561
+ rcall("DEL", lockKey)
562
+ rcall("SREM", stalledKey, jobId)
563
+ else
564
+ if lockToken then
565
+ -- Lock exists but token does not match
566
+ return -6
567
+ else
568
+ -- Lock is missing completely
569
+ return -2
570
+ end
571
+ end
572
+ end
573
+ return 0
574
+ end
575
+ --[[
576
+ Function to trim events, default 10000.
577
+ ]]
578
+ -- Includes
579
+ --[[
580
+ Function to get max events value or set by default 10000.
581
+ ]]
582
+ local function getOrSetMaxEvents(metaKey)
583
+ local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
584
+ if not maxEvents then
585
+ maxEvents = 10000
586
+ rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
587
+ end
588
+ return maxEvents
589
+ end
590
+ local function trimEvents(metaKey, eventStreamKey)
591
+ local maxEvents = getOrSetMaxEvents(metaKey)
592
+ if maxEvents ~= false then
593
+ rcall("XTRIM", eventStreamKey, "MAXLEN", "~", maxEvents)
594
+ else
595
+ rcall("XTRIM", eventStreamKey, "MAXLEN", "~", 10000)
596
+ end
597
+ end
598
+ --[[
599
+ Validate and move or add dependencies to parent.
600
+ ]]
601
+ -- Includes
602
+ local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDependenciesKey,
603
+ parentId, jobIdKey, returnvalue, timestamp )
604
+ local processedSet = parentKey .. ":processed"
605
+ rcall("HSET", processedSet, jobIdKey, returnvalue)
606
+ moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
607
+ end
608
+ --[[
609
+ Function to update a bunch of fields in a job.
610
+ ]]
611
+ local function updateJobFields(jobKey, msgpackedFields)
612
+ if msgpackedFields and #msgpackedFields > 0 then
613
+ local fieldsToUpdate = cmsgpack.unpack(msgpackedFields)
614
+ if fieldsToUpdate then
615
+ redis.call("HMSET", jobKey, unpack(fieldsToUpdate))
616
+ end
617
+ end
618
+ end
619
+ local jobIdKey = KEYS[12]
620
+ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
621
+ local opts = cmsgpack.unpack(ARGV[8])
622
+ local token = opts['token']
623
+ local errorCode = removeLock(jobIdKey, KEYS[5], token, ARGV[1])
624
+ if errorCode < 0 then
625
+ return errorCode
626
+ end
627
+ updateJobFields(jobIdKey, ARGV[9]);
628
+ local attempts = opts['attempts']
629
+ local maxMetricsSize = opts['maxMetricsSize']
630
+ local maxCount = opts['keepJobs']['count']
631
+ local maxAge = opts['keepJobs']['age']
632
+ if rcall("SCARD", jobIdKey .. ":dependencies") ~= 0 then -- // Make sure it does not have pending dependencies
633
+ return -4
634
+ end
635
+ local jobAttributes = rcall("HMGET", jobIdKey, "parentKey", "parent", "deid")
636
+ local parentKey = jobAttributes[1] or ""
637
+ local parentId = ""
638
+ local parentQueueKey = ""
639
+ if jobAttributes[2] ~= false then
640
+ local jsonDecodedParent = cjson.decode(jobAttributes[2])
641
+ parentId = jsonDecodedParent['id']
642
+ parentQueueKey = jsonDecodedParent['queueKey']
643
+ end
644
+ local jobId = ARGV[1]
645
+ local timestamp = ARGV[2]
646
+ -- Remove from active list (if not active we shall return error)
647
+ local numRemovedElements = rcall("LREM", KEYS[2], -1, jobId)
648
+ if (numRemovedElements < 1) then return -3 end
649
+ local eventStreamKey = KEYS[4]
650
+ local metaKey = KEYS[9]
651
+ -- Trim events before emiting them to avoid trimming events emitted in this script
652
+ trimEvents(metaKey, eventStreamKey)
653
+ local prefix = ARGV[7]
654
+ removeDeduplicationKeyIfNeeded(prefix, jobAttributes[3])
655
+ -- If job has a parent we need to
656
+ -- 1) remove this job id from parents dependencies
657
+ -- 2) move the job Id to parent "processed" set
658
+ -- 3) push the results into parent "results" list
659
+ -- 4) if parent's dependencies is empty, then move parent to "wait/paused". Note it may be a different queue!.
660
+ if parentId == "" and parentKey ~= "" then
661
+ parentId = getJobIdFromKey(parentKey)
662
+ parentQueueKey = getJobKeyPrefix(parentKey, ":" .. parentId)
663
+ end
664
+ if parentId ~= "" then
665
+ if ARGV[5] == "completed" then
666
+ local dependenciesSet = parentKey .. ":dependencies"
667
+ if rcall("SREM", dependenciesSet, jobIdKey) == 1 then
668
+ updateParentDepsIfNeeded(parentKey, parentQueueKey,
669
+ dependenciesSet, parentId, jobIdKey,
670
+ ARGV[4], timestamp)
671
+ end
672
+ else
673
+ if opts['fpof'] then
674
+ moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
675
+ parentId, jobIdKey,
676
+ timestamp)
677
+ elseif opts['idof'] or opts['rdof'] then
678
+ local dependenciesSet = parentKey .. ":dependencies"
679
+ if rcall("SREM", dependenciesSet, jobIdKey) == 1 then
680
+ moveParentToWaitIfNeeded(parentQueueKey, dependenciesSet,
681
+ parentKey, parentId, timestamp)
682
+ if opts['idof'] then
683
+ local failedSet = parentKey .. ":failed"
684
+ rcall("HSET", failedSet, jobIdKey, ARGV[4])
685
+ end
686
+ end
687
+ end
688
+ end
689
+ end
690
+ local attemptsMade = rcall("HINCRBY", jobIdKey, "atm", 1)
691
+ -- Remove job?
692
+ if maxCount ~= 0 then
693
+ local targetSet = KEYS[11]
694
+ -- Add to complete/failed set
695
+ rcall("ZADD", targetSet, timestamp, jobId)
696
+ rcall("HMSET", jobIdKey, ARGV[3], ARGV[4], "finishedOn", timestamp)
697
+ -- "returnvalue" / "failedReason" and "finishedOn"
698
+ -- Remove old jobs?
699
+ if maxAge ~= nil then
700
+ removeJobsByMaxAge(timestamp, maxAge, targetSet, prefix)
701
+ end
702
+ if maxCount ~= nil and maxCount > 0 then
703
+ removeJobsByMaxCount(maxCount, targetSet, prefix)
704
+ end
705
+ else
706
+ removeJobKeys(jobIdKey)
707
+ if parentKey ~= "" then
708
+ -- TODO: when a child is removed when finished, result or failure in parent
709
+ -- must not be deleted, those value references should be deleted when the parent
710
+ -- is deleted
711
+ removeParentDependencyKey(jobIdKey, false, parentKey, jobAttributes[3])
712
+ end
713
+ end
714
+ rcall("XADD", eventStreamKey, "*", "event", ARGV[5], "jobId", jobId, ARGV[3],
715
+ ARGV[4])
716
+ if ARGV[5] == "failed" then
717
+ if tonumber(attemptsMade) >= tonumber(attempts) then
718
+ rcall("XADD", eventStreamKey, "*", "event", "retries-exhausted", "jobId",
719
+ jobId, "attemptsMade", attemptsMade)
720
+ end
721
+ end
722
+ -- Collect metrics
723
+ if maxMetricsSize ~= "" then
724
+ collectMetrics(KEYS[13], KEYS[13] .. ':data', maxMetricsSize, timestamp)
725
+ end
726
+ -- Try to get next job to avoid an extra roundtrip if the queue is not closing,
727
+ -- and not rate limited.
728
+ if (ARGV[6] == "1") then
729
+ local target, isPausedOrMaxed = getTargetQueueList(metaKey, KEYS[2], KEYS[1], KEYS[8])
730
+ local markerKey = KEYS[14]
731
+ -- Check if there are delayed jobs that can be promoted
732
+ promoteDelayedJobs(KEYS[7], markerKey, target, KEYS[3], eventStreamKey, prefix,
733
+ timestamp, KEYS[10], isPausedOrMaxed)
734
+ local maxJobs = tonumber(opts['limiter'] and opts['limiter']['max'])
735
+ -- Check if we are rate limited first.
736
+ local expireTime = getRateLimitTTL(maxJobs, KEYS[6])
737
+ if expireTime > 0 then return {0, 0, expireTime, 0} end
738
+ -- paused or maxed queue
739
+ if isPausedOrMaxed then return {0, 0, 0, 0} end
740
+ jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
741
+ if jobId then
742
+ -- Markers in waitlist DEPRECATED in v5: Remove in v6.
743
+ if string.sub(jobId, 1, 2) == "0:" then
744
+ rcall("LREM", KEYS[2], 1, jobId)
745
+ -- If jobId is special ID 0:delay (delay greater than 0), then there is no job to process
746
+ -- but if ID is 0:0, then there is at least 1 prioritized job to process
747
+ if jobId == "0:0" then
748
+ jobId = moveJobFromPriorityToActive(KEYS[3], KEYS[2],
749
+ KEYS[10])
750
+ return prepareJobForProcessing(prefix, KEYS[6], eventStreamKey, jobId,
751
+ timestamp, maxJobs, markerKey,
752
+ opts)
753
+ end
754
+ else
755
+ return prepareJobForProcessing(prefix, KEYS[6], eventStreamKey, jobId,
756
+ timestamp, maxJobs, markerKey,
757
+ opts)
758
+ end
759
+ else
760
+ jobId = moveJobFromPriorityToActive(KEYS[3], KEYS[2], KEYS[10])
761
+ if jobId then
762
+ return prepareJobForProcessing(prefix, KEYS[6], eventStreamKey, jobId,
763
+ timestamp, maxJobs, markerKey,
764
+ opts)
765
+ end
766
+ end
767
+ -- Return the timestamp for the next delayed job if any.
768
+ local nextTimestamp = getNextDelayedTimestamp(KEYS[7])
769
+ if nextTimestamp ~= nil then
770
+ -- The result is guaranteed to be positive, since the
771
+ -- ZRANGEBYSCORE command would have return a job otherwise.
772
+ return {0, 0, 0, nextTimestamp}
773
+ end
774
+ end
775
+ local waitLen = rcall("LLEN", KEYS[1])
776
+ if waitLen == 0 then
777
+ local activeLen = rcall("LLEN", KEYS[2])
778
+ if activeLen == 0 then
779
+ local prioritizedLen = rcall("ZCARD", KEYS[3])
780
+ if prioritizedLen == 0 then
781
+ rcall("XADD", eventStreamKey, "*", "event", "drained")
782
+ end
783
+ end
784
+ end
785
+ return 0
786
+ else
787
+ return -1
788
+ end
789
+ `;
790
+ export const moveToFinished = {
791
+ name: 'moveToFinished',
792
+ content,
793
+ keys: 14,
794
+ };
795
+ //# sourceMappingURL=moveToFinished-14.js.map