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