@tachybase/plugin-adapter-bullmq 1.3.16 → 1.3.18

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 (348) hide show
  1. package/dist/externalVersion.js +2 -2
  2. package/dist/index.js +4 -4
  3. package/dist/node_modules/@bull-board/api/dist/src/handlers/error.d.ts +4 -2
  4. package/dist/node_modules/@bull-board/api/dist/src/handlers/error.js +2 -2
  5. package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseAll.d.ts +4 -0
  6. package/dist/node_modules/@bull-board/api/dist/src/handlers/pauseAll.js +15 -0
  7. package/dist/node_modules/@bull-board/api/dist/src/handlers/queues.js +4 -0
  8. package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeAll.d.ts +4 -0
  9. package/dist/node_modules/@bull-board/api/dist/src/handlers/resumeAll.js +15 -0
  10. package/dist/node_modules/@bull-board/api/dist/src/index.js +1 -1
  11. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.d.ts +4 -0
  12. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/base.js +6 -0
  13. package/dist/node_modules/@bull-board/api/dist/src/queueAdapters/bull.js +6 -4
  14. package/dist/node_modules/@bull-board/api/dist/src/routes.js +4 -0
  15. package/dist/node_modules/@bull-board/api/dist/typings/app.d.ts +22 -2
  16. package/dist/node_modules/@bull-board/api/package.json +1 -1
  17. package/dist/node_modules/@bull-board/koa/dist/KoaAdapter.js +1 -1
  18. package/dist/node_modules/@bull-board/koa/dist/index.js +101 -101
  19. package/dist/node_modules/@bull-board/koa/package.json +1 -1
  20. package/dist/node_modules/bullmq/dist/cjs/classes/backoffs.js +18 -5
  21. package/dist/node_modules/bullmq/dist/cjs/classes/child-pool.js +7 -2
  22. package/dist/node_modules/bullmq/dist/cjs/classes/child-processor.js +59 -5
  23. package/dist/node_modules/bullmq/dist/cjs/classes/child.js +3 -1
  24. package/dist/node_modules/bullmq/dist/cjs/classes/errors/index.js +2 -1
  25. package/dist/node_modules/bullmq/dist/cjs/classes/errors/waiting-error.js +19 -0
  26. package/dist/node_modules/bullmq/dist/cjs/classes/flow-producer.js +21 -5
  27. package/dist/node_modules/bullmq/dist/cjs/classes/index.js +1 -0
  28. package/dist/node_modules/bullmq/dist/cjs/classes/job-scheduler.js +88 -62
  29. package/dist/node_modules/bullmq/dist/cjs/classes/job.js +216 -109
  30. package/dist/node_modules/bullmq/dist/cjs/classes/main-base.js +1 -1
  31. package/dist/node_modules/bullmq/dist/cjs/classes/queue-base.js +10 -9
  32. package/dist/node_modules/bullmq/dist/cjs/classes/queue-getters.js +34 -14
  33. package/dist/node_modules/bullmq/dist/cjs/classes/queue.js +19 -13
  34. package/dist/node_modules/bullmq/dist/cjs/classes/redis-connection.js +16 -9
  35. package/dist/node_modules/bullmq/dist/cjs/classes/repeat.js +1 -1
  36. package/dist/node_modules/bullmq/dist/cjs/classes/sandbox.js +54 -28
  37. package/dist/node_modules/bullmq/dist/cjs/classes/scripts.js +141 -39
  38. package/dist/node_modules/bullmq/dist/cjs/classes/worker.js +191 -182
  39. package/dist/node_modules/bullmq/dist/cjs/commands/addDelayedJob-6.lua +6 -17
  40. package/dist/node_modules/bullmq/dist/cjs/commands/addJobScheduler-11.lua +123 -0
  41. package/dist/node_modules/bullmq/dist/{esm/commands/addParentJob-4.lua → cjs/commands/addParentJob-5.lua} +7 -6
  42. package/dist/node_modules/bullmq/dist/cjs/commands/{addPrioritizedJob-8.lua → addPrioritizedJob-9.lua} +11 -10
  43. package/dist/node_modules/bullmq/dist/cjs/commands/addRepeatableJob-2.lua +2 -2
  44. package/dist/node_modules/bullmq/dist/{esm/commands/addStandardJob-8.lua → cjs/commands/addStandardJob-9.lua} +9 -8
  45. package/dist/node_modules/bullmq/dist/cjs/commands/cleanJobsInSet-3.lua +9 -5
  46. package/dist/node_modules/bullmq/dist/cjs/commands/drain-5.lua +16 -16
  47. package/dist/node_modules/bullmq/dist/cjs/commands/getDependencyCounts-4.lua +31 -0
  48. package/dist/node_modules/bullmq/dist/cjs/commands/getState-8.lua +5 -5
  49. package/dist/node_modules/bullmq/dist/cjs/commands/getStateV2-8.lua +8 -8
  50. package/dist/node_modules/bullmq/dist/cjs/commands/includes/addDelayedJob.lua +23 -0
  51. package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobFromScheduler.lua +37 -0
  52. package/dist/node_modules/bullmq/dist/cjs/commands/includes/addJobWithPriority.lua +2 -2
  53. package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanList.lua +4 -2
  54. package/dist/node_modules/bullmq/dist/cjs/commands/includes/cleanSet.lua +3 -11
  55. package/dist/node_modules/bullmq/dist/cjs/commands/includes/collectMetrics.lua +1 -1
  56. package/dist/node_modules/bullmq/dist/cjs/commands/includes/deduplicateJob.lua +63 -18
  57. package/dist/node_modules/bullmq/dist/cjs/commands/includes/filterOutJobsToIgnore.lua +14 -0
  58. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +1 -1
  59. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getOrSetMaxEvents.lua +6 -6
  60. package/dist/node_modules/bullmq/dist/cjs/commands/includes/getPriorityScore.lua +8 -0
  61. package/dist/node_modules/bullmq/dist/cjs/commands/includes/isJobSchedulerJob.lua +15 -0
  62. package/dist/node_modules/bullmq/dist/cjs/commands/includes/isLocked.lua +1 -0
  63. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveChildFromDependenciesIfNeeded.lua +77 -0
  64. package/dist/node_modules/bullmq/dist/cjs/commands/includes/{moveJobFromPriorityToActive.lua → moveJobFromPrioritizedToActive.lua} +1 -1
  65. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWait.lua +45 -0
  66. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWaitIfNeeded.lua +9 -50
  67. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentToWaitIfNoPendingDependencies.lua +13 -0
  68. package/dist/node_modules/bullmq/dist/cjs/commands/includes/prepareJobForProcessing.lua +2 -1
  69. package/dist/node_modules/bullmq/dist/cjs/commands/includes/promoteDelayedJobs.lua +7 -3
  70. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeededOnFinalization.lua +23 -0
  71. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeededOnRemoval.lua +16 -0
  72. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJob.lua +2 -2
  73. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobKeys.lua +2 -2
  74. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeJobWithChildren.lua +95 -0
  75. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeListJobs.lua +7 -1
  76. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeParentDependencyKey.lua +5 -5
  77. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeZSetJobs.lua +2 -8
  78. package/dist/node_modules/bullmq/dist/cjs/commands/includes/storeJob.lua +2 -2
  79. package/dist/node_modules/bullmq/dist/cjs/commands/includes/storeJobScheduler.lua +52 -0
  80. package/dist/node_modules/bullmq/dist/cjs/commands/includes/trimEvents.lua +1 -1
  81. package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateExistingJobsParent.lua +1 -1
  82. package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateJobFields.lua +5 -5
  83. package/dist/node_modules/bullmq/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +2 -2
  84. package/dist/node_modules/bullmq/dist/cjs/commands/isFinished-3.lua +2 -2
  85. package/dist/node_modules/bullmq/dist/cjs/commands/moveJobFromActiveToWait-9.lua +63 -0
  86. package/dist/node_modules/bullmq/dist/cjs/commands/moveStalledJobsToWait-8.lua +109 -0
  87. package/dist/node_modules/bullmq/dist/cjs/commands/moveToActive-11.lua +3 -2
  88. package/dist/node_modules/bullmq/dist/cjs/commands/moveToFinished-14.lua +52 -52
  89. package/dist/node_modules/bullmq/dist/cjs/commands/moveToWaitingChildren-8.lua +106 -0
  90. package/dist/node_modules/bullmq/dist/cjs/commands/removeJob-2.lua +18 -66
  91. package/dist/node_modules/bullmq/dist/cjs/commands/removeJobScheduler-3.lua +1 -1
  92. package/dist/node_modules/bullmq/dist/cjs/commands/removeUnprocessedChildren-2.lua +31 -0
  93. package/dist/node_modules/bullmq/dist/cjs/commands/retryJob-11.lua +11 -5
  94. package/dist/node_modules/bullmq/dist/cjs/commands/updateJobScheduler-12.lua +90 -0
  95. package/dist/node_modules/bullmq/dist/cjs/commands/updateRepeatableJobMillis-1.lua +1 -1
  96. package/dist/node_modules/bullmq/dist/cjs/enums/child-command.js +2 -0
  97. package/dist/node_modules/bullmq/dist/cjs/enums/error-code.js +2 -1
  98. package/dist/node_modules/bullmq/dist/cjs/enums/parent-command.js +5 -2
  99. package/dist/node_modules/bullmq/dist/cjs/index.js +1 -1
  100. package/dist/node_modules/bullmq/dist/cjs/interfaces/index.js +2 -1
  101. package/dist/node_modules/bullmq/dist/cjs/interfaces/{debounce-options.js → parent-options.js} +1 -1
  102. package/dist/node_modules/bullmq/dist/cjs/interfaces/receiver.js +3 -0
  103. package/dist/node_modules/bullmq/dist/cjs/scripts/addDelayedJob-6.js +163 -84
  104. package/dist/node_modules/bullmq/dist/cjs/scripts/addJobScheduler-11.js +465 -0
  105. package/dist/node_modules/bullmq/dist/cjs/scripts/{addParentJob-4.js → addParentJob-5.js} +147 -75
  106. package/dist/node_modules/bullmq/dist/cjs/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-9.js} +151 -79
  107. package/dist/node_modules/bullmq/dist/cjs/scripts/addRepeatableJob-2.js +18 -13
  108. package/dist/node_modules/bullmq/dist/cjs/scripts/{addStandardJob-8.js → addStandardJob-9.js} +149 -77
  109. package/dist/node_modules/bullmq/dist/cjs/scripts/changeDelay-4.js +7 -7
  110. package/dist/node_modules/bullmq/dist/cjs/scripts/changePriority-7.js +8 -2
  111. package/dist/node_modules/bullmq/dist/cjs/scripts/cleanJobsInSet-3.js +45 -29
  112. package/dist/node_modules/bullmq/dist/cjs/scripts/drain-5.js +49 -35
  113. package/dist/node_modules/bullmq/dist/cjs/scripts/getDependencyCounts-4.js +37 -0
  114. package/dist/node_modules/bullmq/dist/cjs/scripts/getState-8.js +5 -5
  115. package/dist/node_modules/bullmq/dist/cjs/scripts/getStateV2-8.js +8 -8
  116. package/dist/node_modules/bullmq/dist/cjs/scripts/index.js +10 -7
  117. package/dist/node_modules/bullmq/dist/cjs/scripts/isFinished-3.js +2 -2
  118. package/dist/node_modules/bullmq/dist/cjs/scripts/{moveJobFromActiveToWait-10.js → moveJobFromActiveToWait-9.js} +57 -37
  119. package/dist/node_modules/bullmq/dist/cjs/scripts/moveJobsToWait-8.js +6 -6
  120. package/dist/node_modules/bullmq/dist/cjs/scripts/moveStalledJobsToWait-8.js +171 -0
  121. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToActive-11.js +18 -8
  122. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToDelayed-8.js +12 -12
  123. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToFinished-14.js +218 -155
  124. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToWaitingChildren-8.js +529 -0
  125. package/dist/node_modules/bullmq/dist/cjs/scripts/obliterate-2.js +33 -20
  126. package/dist/node_modules/bullmq/dist/cjs/scripts/pause-7.js +1 -1
  127. package/dist/node_modules/bullmq/dist/cjs/scripts/promote-9.js +8 -2
  128. package/dist/node_modules/bullmq/dist/cjs/scripts/removeChildDependency-1.js +7 -7
  129. package/dist/node_modules/bullmq/dist/cjs/scripts/removeJob-2.js +120 -63
  130. package/dist/node_modules/bullmq/dist/cjs/scripts/removeJobScheduler-3.js +3 -3
  131. package/dist/node_modules/bullmq/dist/cjs/scripts/removeRepeatable-3.js +2 -2
  132. package/dist/node_modules/bullmq/dist/cjs/scripts/removeUnprocessedChildren-2.js +339 -0
  133. package/dist/node_modules/bullmq/dist/cjs/scripts/reprocessJob-8.js +6 -6
  134. package/dist/node_modules/bullmq/dist/cjs/scripts/retryJob-11.js +47 -26
  135. package/dist/node_modules/bullmq/dist/cjs/scripts/updateJobScheduler-12.js +274 -0
  136. package/dist/node_modules/bullmq/dist/cjs/scripts/updateProgress-3.js +6 -6
  137. package/dist/node_modules/bullmq/dist/cjs/scripts/updateRepeatableJobMillis-1.js +1 -1
  138. package/dist/node_modules/bullmq/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  139. package/dist/node_modules/bullmq/dist/cjs/types/deduplication-options.js +3 -0
  140. package/dist/node_modules/bullmq/dist/cjs/types/index.js +3 -0
  141. package/dist/node_modules/bullmq/dist/cjs/types/job-progress.js +3 -0
  142. package/dist/node_modules/bullmq/dist/cjs/types/script-queue-context.js +3 -0
  143. package/dist/node_modules/bullmq/dist/cjs/utils.js +29 -1
  144. package/dist/node_modules/bullmq/dist/cjs/version.js +1 -1
  145. package/dist/node_modules/bullmq/dist/esm/classes/backoffs.d.ts +1 -1
  146. package/dist/node_modules/bullmq/dist/esm/classes/backoffs.js +18 -5
  147. package/dist/node_modules/bullmq/dist/esm/classes/child-pool.d.ts +1 -1
  148. package/dist/node_modules/bullmq/dist/esm/classes/child-pool.js +7 -2
  149. package/dist/node_modules/bullmq/dist/esm/classes/child-processor.d.ts +3 -2
  150. package/dist/node_modules/bullmq/dist/esm/classes/child-processor.js +59 -5
  151. package/dist/node_modules/bullmq/dist/esm/classes/child.js +3 -1
  152. package/dist/node_modules/bullmq/dist/esm/classes/errors/index.d.ts +2 -1
  153. package/dist/node_modules/bullmq/dist/esm/classes/errors/index.js +2 -1
  154. package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-error.d.ts +10 -0
  155. package/dist/node_modules/bullmq/dist/esm/classes/errors/waiting-error.js +15 -0
  156. package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.d.ts +3 -9
  157. package/dist/node_modules/bullmq/dist/esm/classes/flow-producer.js +21 -5
  158. package/dist/node_modules/bullmq/dist/esm/classes/index.d.ts +1 -0
  159. package/dist/node_modules/bullmq/dist/esm/classes/index.js +1 -0
  160. package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.d.ts +2 -2
  161. package/dist/node_modules/bullmq/dist/esm/classes/job-scheduler.js +88 -62
  162. package/dist/node_modules/bullmq/dist/esm/classes/job.d.ts +69 -19
  163. package/dist/node_modules/bullmq/dist/esm/classes/job.js +217 -110
  164. package/dist/node_modules/bullmq/dist/esm/classes/main-base.d.ts +2 -3
  165. package/dist/node_modules/bullmq/dist/esm/classes/main-base.js +1 -1
  166. package/dist/node_modules/bullmq/dist/esm/classes/queue-base.d.ts +2 -5
  167. package/dist/node_modules/bullmq/dist/esm/classes/queue-base.js +11 -10
  168. package/dist/node_modules/bullmq/dist/esm/classes/queue-events-producer.d.ts +2 -2
  169. package/dist/node_modules/bullmq/dist/esm/classes/queue-events.d.ts +118 -29
  170. package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.d.ts +20 -13
  171. package/dist/node_modules/bullmq/dist/esm/classes/queue-getters.js +34 -14
  172. package/dist/node_modules/bullmq/dist/esm/classes/queue.d.ts +19 -16
  173. package/dist/node_modules/bullmq/dist/esm/classes/queue.js +19 -13
  174. package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.d.ts +7 -3
  175. package/dist/node_modules/bullmq/dist/esm/classes/redis-connection.js +16 -9
  176. package/dist/node_modules/bullmq/dist/esm/classes/repeat.js +1 -1
  177. package/dist/node_modules/bullmq/dist/esm/classes/sandbox.js +54 -28
  178. package/dist/node_modules/bullmq/dist/esm/classes/scripts.d.ts +20 -13
  179. package/dist/node_modules/bullmq/dist/esm/classes/scripts.js +141 -39
  180. package/dist/node_modules/bullmq/dist/esm/classes/worker.d.ts +28 -7
  181. package/dist/node_modules/bullmq/dist/esm/classes/worker.js +192 -183
  182. package/dist/node_modules/bullmq/dist/esm/commands/addDelayedJob-6.lua +6 -17
  183. package/dist/node_modules/bullmq/dist/esm/commands/addJobScheduler-11.lua +123 -0
  184. package/dist/node_modules/bullmq/dist/{cjs/commands/addParentJob-4.lua → esm/commands/addParentJob-5.lua} +7 -6
  185. package/dist/node_modules/bullmq/dist/esm/commands/{addPrioritizedJob-8.lua → addPrioritizedJob-9.lua} +11 -10
  186. package/dist/node_modules/bullmq/dist/esm/commands/addRepeatableJob-2.lua +2 -2
  187. package/dist/node_modules/bullmq/dist/{cjs/commands/addStandardJob-8.lua → esm/commands/addStandardJob-9.lua} +9 -8
  188. package/dist/node_modules/bullmq/dist/esm/commands/cleanJobsInSet-3.lua +9 -5
  189. package/dist/node_modules/bullmq/dist/esm/commands/drain-5.lua +16 -16
  190. package/dist/node_modules/bullmq/dist/esm/commands/getDependencyCounts-4.lua +31 -0
  191. package/dist/node_modules/bullmq/dist/esm/commands/getState-8.lua +5 -5
  192. package/dist/node_modules/bullmq/dist/esm/commands/getStateV2-8.lua +8 -8
  193. package/dist/node_modules/bullmq/dist/esm/commands/includes/addDelayedJob.lua +23 -0
  194. package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobFromScheduler.lua +37 -0
  195. package/dist/node_modules/bullmq/dist/esm/commands/includes/addJobWithPriority.lua +2 -2
  196. package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanList.lua +4 -2
  197. package/dist/node_modules/bullmq/dist/esm/commands/includes/cleanSet.lua +3 -11
  198. package/dist/node_modules/bullmq/dist/esm/commands/includes/collectMetrics.lua +1 -1
  199. package/dist/node_modules/bullmq/dist/esm/commands/includes/deduplicateJob.lua +63 -18
  200. package/dist/node_modules/bullmq/dist/esm/commands/includes/filterOutJobsToIgnore.lua +14 -0
  201. package/dist/node_modules/bullmq/dist/esm/commands/includes/getNextDelayedTimestamp.lua +1 -1
  202. package/dist/node_modules/bullmq/dist/esm/commands/includes/getOrSetMaxEvents.lua +6 -6
  203. package/dist/node_modules/bullmq/dist/esm/commands/includes/getPriorityScore.lua +8 -0
  204. package/dist/node_modules/bullmq/dist/esm/commands/includes/isJobSchedulerJob.lua +15 -0
  205. package/dist/node_modules/bullmq/dist/esm/commands/includes/isLocked.lua +1 -0
  206. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveChildFromDependenciesIfNeeded.lua +77 -0
  207. package/dist/node_modules/bullmq/dist/esm/commands/includes/{moveJobFromPriorityToActive.lua → moveJobFromPrioritizedToActive.lua} +1 -1
  208. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWait.lua +45 -0
  209. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWaitIfNeeded.lua +9 -50
  210. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentToWaitIfNoPendingDependencies.lua +13 -0
  211. package/dist/node_modules/bullmq/dist/esm/commands/includes/prepareJobForProcessing.lua +2 -1
  212. package/dist/node_modules/bullmq/dist/esm/commands/includes/promoteDelayedJobs.lua +7 -3
  213. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeededOnFinalization.lua +23 -0
  214. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeededOnRemoval.lua +16 -0
  215. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJob.lua +2 -2
  216. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobKeys.lua +2 -2
  217. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeJobWithChildren.lua +95 -0
  218. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeListJobs.lua +7 -1
  219. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeParentDependencyKey.lua +5 -5
  220. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeZSetJobs.lua +2 -8
  221. package/dist/node_modules/bullmq/dist/esm/commands/includes/storeJob.lua +2 -2
  222. package/dist/node_modules/bullmq/dist/esm/commands/includes/storeJobScheduler.lua +52 -0
  223. package/dist/node_modules/bullmq/dist/esm/commands/includes/trimEvents.lua +1 -1
  224. package/dist/node_modules/bullmq/dist/esm/commands/includes/updateExistingJobsParent.lua +1 -1
  225. package/dist/node_modules/bullmq/dist/esm/commands/includes/updateJobFields.lua +5 -5
  226. package/dist/node_modules/bullmq/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +2 -2
  227. package/dist/node_modules/bullmq/dist/esm/commands/isFinished-3.lua +2 -2
  228. package/dist/node_modules/bullmq/dist/esm/commands/moveJobFromActiveToWait-9.lua +63 -0
  229. package/dist/node_modules/bullmq/dist/esm/commands/moveStalledJobsToWait-8.lua +109 -0
  230. package/dist/node_modules/bullmq/dist/esm/commands/moveToActive-11.lua +3 -2
  231. package/dist/node_modules/bullmq/dist/esm/commands/moveToFinished-14.lua +52 -52
  232. package/dist/node_modules/bullmq/dist/esm/commands/moveToWaitingChildren-8.lua +106 -0
  233. package/dist/node_modules/bullmq/dist/esm/commands/removeJob-2.lua +18 -66
  234. package/dist/node_modules/bullmq/dist/esm/commands/removeJobScheduler-3.lua +1 -1
  235. package/dist/node_modules/bullmq/dist/esm/commands/removeUnprocessedChildren-2.lua +31 -0
  236. package/dist/node_modules/bullmq/dist/esm/commands/retryJob-11.lua +11 -5
  237. package/dist/node_modules/bullmq/dist/esm/commands/updateJobScheduler-12.lua +90 -0
  238. package/dist/node_modules/bullmq/dist/esm/commands/updateRepeatableJobMillis-1.lua +1 -1
  239. package/dist/node_modules/bullmq/dist/esm/enums/child-command.d.ts +3 -1
  240. package/dist/node_modules/bullmq/dist/esm/enums/child-command.js +2 -0
  241. package/dist/node_modules/bullmq/dist/esm/enums/error-code.d.ts +3 -2
  242. package/dist/node_modules/bullmq/dist/esm/enums/error-code.js +2 -1
  243. package/dist/node_modules/bullmq/dist/esm/enums/parent-command.d.ts +5 -2
  244. package/dist/node_modules/bullmq/dist/esm/enums/parent-command.js +5 -2
  245. package/dist/node_modules/bullmq/dist/esm/interfaces/backoff-options.d.ts +5 -0
  246. package/dist/node_modules/bullmq/dist/esm/interfaces/base-job-options.d.ts +3 -9
  247. package/dist/node_modules/bullmq/dist/esm/interfaces/child-message.d.ts +1 -0
  248. package/dist/node_modules/bullmq/dist/esm/interfaces/index.d.ts +2 -1
  249. package/dist/node_modules/bullmq/dist/esm/interfaces/index.js +2 -1
  250. package/dist/node_modules/bullmq/dist/esm/interfaces/job-json.d.ts +6 -2
  251. package/dist/node_modules/bullmq/dist/esm/interfaces/job-scheduler-json.d.ts +7 -4
  252. package/dist/node_modules/bullmq/dist/esm/interfaces/minimal-job.d.ts +34 -15
  253. package/dist/node_modules/bullmq/dist/esm/interfaces/parent-options.d.ts +11 -0
  254. package/dist/node_modules/bullmq/dist/esm/interfaces/parent-options.js +2 -0
  255. package/dist/node_modules/bullmq/dist/esm/interfaces/parent.d.ts +6 -2
  256. package/dist/node_modules/bullmq/dist/esm/interfaces/queue-options.d.ts +15 -6
  257. package/dist/node_modules/bullmq/dist/esm/interfaces/receiver.d.ts +4 -0
  258. package/dist/node_modules/bullmq/dist/esm/interfaces/receiver.js +2 -0
  259. package/dist/node_modules/bullmq/dist/esm/interfaces/repeat-options.d.ts +1 -2
  260. package/dist/node_modules/bullmq/dist/esm/interfaces/repeatable-options.d.ts +2 -0
  261. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-job.d.ts +3 -2
  262. package/dist/node_modules/bullmq/dist/esm/interfaces/sandboxed-options.d.ts +1 -1
  263. package/dist/node_modules/bullmq/dist/esm/interfaces/telemetry.d.ts +18 -15
  264. package/dist/node_modules/bullmq/dist/esm/interfaces/worker-options.d.ts +10 -10
  265. package/dist/node_modules/bullmq/dist/esm/scripts/addDelayedJob-6.js +163 -84
  266. package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-11.js +462 -0
  267. package/dist/node_modules/bullmq/dist/esm/scripts/{addParentJob-4.js → addParentJob-5.js} +147 -75
  268. package/dist/node_modules/bullmq/dist/esm/scripts/{addPrioritizedJob-8.js → addPrioritizedJob-9.js} +151 -79
  269. package/dist/node_modules/bullmq/dist/esm/scripts/addRepeatableJob-2.js +18 -13
  270. package/dist/node_modules/bullmq/dist/esm/scripts/{addStandardJob-8.js → addStandardJob-9.js} +149 -77
  271. package/dist/node_modules/bullmq/dist/esm/scripts/changeDelay-4.js +7 -7
  272. package/dist/node_modules/bullmq/dist/esm/scripts/changePriority-7.js +8 -2
  273. package/dist/node_modules/bullmq/dist/esm/scripts/cleanJobsInSet-3.js +45 -29
  274. package/dist/node_modules/bullmq/dist/esm/scripts/drain-5.js +49 -35
  275. package/dist/node_modules/bullmq/dist/esm/scripts/getDependencyCounts-4.d.ts +5 -0
  276. package/dist/node_modules/bullmq/dist/esm/scripts/getDependencyCounts-4.js +34 -0
  277. package/dist/node_modules/bullmq/dist/esm/scripts/getState-8.js +5 -5
  278. package/dist/node_modules/bullmq/dist/esm/scripts/getStateV2-8.js +8 -8
  279. package/dist/node_modules/bullmq/dist/esm/scripts/index.d.ts +10 -7
  280. package/dist/node_modules/bullmq/dist/esm/scripts/index.js +10 -7
  281. package/dist/node_modules/bullmq/dist/esm/scripts/isFinished-3.js +2 -2
  282. package/dist/node_modules/bullmq/dist/esm/scripts/{moveJobFromActiveToWait-10.js → moveJobFromActiveToWait-9.js} +57 -37
  283. package/dist/node_modules/bullmq/dist/esm/scripts/moveJobsToWait-8.js +6 -6
  284. package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-8.js +168 -0
  285. package/dist/node_modules/bullmq/dist/esm/scripts/moveToActive-11.js +18 -8
  286. package/dist/node_modules/bullmq/dist/esm/scripts/moveToDelayed-8.js +12 -12
  287. package/dist/node_modules/bullmq/dist/esm/scripts/moveToFinished-14.js +218 -155
  288. package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-8.js +526 -0
  289. package/dist/node_modules/bullmq/dist/esm/scripts/obliterate-2.js +33 -20
  290. package/dist/node_modules/bullmq/dist/esm/scripts/pause-7.js +1 -1
  291. package/dist/node_modules/bullmq/dist/esm/scripts/promote-9.js +8 -2
  292. package/dist/node_modules/bullmq/dist/esm/scripts/removeChildDependency-1.js +7 -7
  293. package/dist/node_modules/bullmq/dist/esm/scripts/removeJob-2.js +120 -63
  294. package/dist/node_modules/bullmq/dist/esm/scripts/removeJobScheduler-3.js +3 -3
  295. package/dist/node_modules/bullmq/dist/esm/scripts/removeRepeatable-3.js +2 -2
  296. package/dist/node_modules/bullmq/dist/esm/scripts/removeUnprocessedChildren-2.d.ts +5 -0
  297. package/dist/node_modules/bullmq/dist/esm/scripts/removeUnprocessedChildren-2.js +336 -0
  298. package/dist/node_modules/bullmq/dist/esm/scripts/reprocessJob-8.js +6 -6
  299. package/dist/node_modules/bullmq/dist/esm/scripts/retryJob-11.js +47 -26
  300. package/dist/node_modules/bullmq/dist/esm/scripts/updateJobScheduler-12.d.ts +5 -0
  301. package/dist/node_modules/bullmq/dist/esm/scripts/updateJobScheduler-12.js +271 -0
  302. package/dist/node_modules/bullmq/dist/esm/scripts/updateProgress-3.js +6 -6
  303. package/dist/node_modules/bullmq/dist/esm/scripts/updateRepeatableJobMillis-1.js +1 -1
  304. package/dist/node_modules/bullmq/dist/esm/tsconfig.tsbuildinfo +1 -1
  305. package/dist/node_modules/bullmq/dist/esm/types/deduplication-options.d.ts +22 -0
  306. package/dist/node_modules/bullmq/dist/esm/types/deduplication-options.js +2 -0
  307. package/dist/node_modules/bullmq/dist/esm/types/index.d.ts +3 -0
  308. package/dist/node_modules/bullmq/dist/esm/types/index.js +3 -0
  309. package/dist/node_modules/bullmq/dist/esm/types/job-options.d.ts +19 -8
  310. package/dist/node_modules/bullmq/dist/esm/types/job-progress.d.ts +1 -0
  311. package/dist/node_modules/bullmq/dist/esm/types/job-progress.js +2 -0
  312. package/dist/node_modules/bullmq/dist/esm/types/script-queue-context.d.ts +2 -0
  313. package/dist/node_modules/bullmq/dist/esm/types/script-queue-context.js +2 -0
  314. package/dist/node_modules/bullmq/dist/esm/utils.d.ts +25 -5
  315. package/dist/node_modules/bullmq/dist/esm/utils.js +27 -0
  316. package/dist/node_modules/bullmq/dist/esm/version.d.ts +1 -1
  317. package/dist/node_modules/bullmq/dist/esm/version.js +1 -1
  318. package/dist/node_modules/bullmq/package.json +1 -1
  319. package/package.json +7 -7
  320. package/dist/node_modules/bullmq/dist/cjs/commands/addJobScheduler-2.lua +0 -91
  321. package/dist/node_modules/bullmq/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -53
  322. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKey.lua +0 -11
  323. package/dist/node_modules/bullmq/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +0 -14
  324. package/dist/node_modules/bullmq/dist/cjs/commands/moveJobFromActiveToWait-10.lua +0 -60
  325. package/dist/node_modules/bullmq/dist/cjs/commands/moveStalledJobsToWait-9.lua +0 -156
  326. package/dist/node_modules/bullmq/dist/cjs/commands/moveToWaitingChildren-5.lua +0 -68
  327. package/dist/node_modules/bullmq/dist/cjs/scripts/addJobScheduler-2.js +0 -237
  328. package/dist/node_modules/bullmq/dist/cjs/scripts/moveStalledJobsToWait-9.js +0 -529
  329. package/dist/node_modules/bullmq/dist/cjs/scripts/moveToWaitingChildren-5.js +0 -83
  330. package/dist/node_modules/bullmq/dist/esm/commands/addJobScheduler-2.lua +0 -91
  331. package/dist/node_modules/bullmq/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -53
  332. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKey.lua +0 -11
  333. package/dist/node_modules/bullmq/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +0 -14
  334. package/dist/node_modules/bullmq/dist/esm/commands/moveJobFromActiveToWait-10.lua +0 -60
  335. package/dist/node_modules/bullmq/dist/esm/commands/moveStalledJobsToWait-9.lua +0 -156
  336. package/dist/node_modules/bullmq/dist/esm/commands/moveToWaitingChildren-5.lua +0 -68
  337. package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.d.ts +0 -13
  338. package/dist/node_modules/bullmq/dist/esm/interfaces/debounce-options.js +0 -2
  339. package/dist/node_modules/bullmq/dist/esm/scripts/addJobScheduler-2.js +0 -234
  340. package/dist/node_modules/bullmq/dist/esm/scripts/moveStalledJobsToWait-9.js +0 -526
  341. package/dist/node_modules/bullmq/dist/esm/scripts/moveToWaitingChildren-5.js +0 -80
  342. /package/dist/node_modules/bullmq/dist/esm/scripts/{addJobScheduler-2.d.ts → addJobScheduler-11.d.ts} +0 -0
  343. /package/dist/node_modules/bullmq/dist/esm/scripts/{addParentJob-4.d.ts → addParentJob-5.d.ts} +0 -0
  344. /package/dist/node_modules/bullmq/dist/esm/scripts/{addPrioritizedJob-8.d.ts → addPrioritizedJob-9.d.ts} +0 -0
  345. /package/dist/node_modules/bullmq/dist/esm/scripts/{addStandardJob-8.d.ts → addStandardJob-9.d.ts} +0 -0
  346. /package/dist/node_modules/bullmq/dist/esm/scripts/{moveJobFromActiveToWait-10.d.ts → moveJobFromActiveToWait-9.d.ts} +0 -0
  347. /package/dist/node_modules/bullmq/dist/esm/scripts/{moveStalledJobsToWait-9.d.ts → moveStalledJobsToWait-8.d.ts} +0 -0
  348. /package/dist/node_modules/bullmq/dist/esm/scripts/{moveToWaitingChildren-5.d.ts → moveToWaitingChildren-8.d.ts} +0 -0
@@ -1,91 +0,0 @@
1
- --[[
2
- Adds a job scheduler, i.e. a job factory that creates jobs based on a given schedule (repeat options).
3
-
4
- Input:
5
- KEYS[1] 'repeat' key
6
- KEYS[2] 'delayed' key
7
-
8
- ARGV[1] next milliseconds
9
- ARGV[2] msgpacked options
10
- [1] name
11
- [2] tz?
12
- [3] patten?
13
- [4] endDate?
14
- [5] every?
15
- ARGV[3] jobs scheduler id
16
- ARGV[4] Json stringified template data
17
- ARGV[5] mspacked template opts
18
- ARGV[6] prefix key
19
-
20
- Output:
21
- repeatableKey - OK
22
- ]]
23
- local rcall = redis.call
24
- local repeatKey = KEYS[1]
25
- local delayedKey = KEYS[2]
26
-
27
- local nextMillis = ARGV[1]
28
- local jobSchedulerId = ARGV[3]
29
- local templateOpts = cmsgpack.unpack(ARGV[5])
30
- local prefixKey = ARGV[6]
31
-
32
- -- Includes
33
- --- @include "includes/removeJob"
34
-
35
- local function storeRepeatableJob(schedulerId, repeatKey, nextMillis, rawOpts, templateData, templateOpts)
36
- rcall("ZADD", repeatKey, nextMillis, schedulerId)
37
- local opts = cmsgpack.unpack(rawOpts)
38
-
39
- local optionalValues = {}
40
- if opts['tz'] then
41
- table.insert(optionalValues, "tz")
42
- table.insert(optionalValues, opts['tz'])
43
- end
44
-
45
- if opts['pattern'] then
46
- table.insert(optionalValues, "pattern")
47
- table.insert(optionalValues, opts['pattern'])
48
- end
49
-
50
- if opts['endDate'] then
51
- table.insert(optionalValues, "endDate")
52
- table.insert(optionalValues, opts['endDate'])
53
- end
54
-
55
- if opts['every'] then
56
- table.insert(optionalValues, "every")
57
- table.insert(optionalValues, opts['every'])
58
- end
59
-
60
- local jsonTemplateOpts = cjson.encode(templateOpts)
61
- if jsonTemplateOpts and jsonTemplateOpts ~= '{}' then
62
- table.insert(optionalValues, "opts")
63
- table.insert(optionalValues, jsonTemplateOpts)
64
- end
65
-
66
- if templateData and templateData ~= '{}' then
67
- table.insert(optionalValues, "data")
68
- table.insert(optionalValues, templateData)
69
- end
70
-
71
- rcall("HMSET", repeatKey .. ":" .. schedulerId, "name", opts['name'],
72
- unpack(optionalValues))
73
- end
74
-
75
- -- If we are overriding a repeatable job we must delete the delayed job for
76
- -- the next iteration.
77
- local prevMillis = rcall("ZSCORE", repeatKey, jobSchedulerId)
78
- if prevMillis ~= false then
79
- local delayedJobId = "repeat:" .. jobSchedulerId .. ":" .. prevMillis
80
- local nextDelayedJobId = "repeat:" .. jobSchedulerId .. ":" .. nextMillis
81
- local nextDelayedJobKey = repeatKey .. ":" .. jobSchedulerId .. ":" .. nextMillis
82
-
83
- if rcall("ZSCORE", delayedKey, delayedJobId) ~= false
84
- and (rcall("EXISTS", nextDelayedJobKey) ~= 1
85
- or delayedJobId == nextDelayedJobId) then
86
- removeJob(delayedJobId, true, prefixKey, true --[[remove debounce key]])
87
- rcall("ZREM", delayedKey, delayedJobId)
88
- end
89
- end
90
-
91
- return storeRepeatableJob(jobSchedulerId, repeatKey, nextMillis, ARGV[2], ARGV[4], templateOpts)
@@ -1,53 +0,0 @@
1
- --[[
2
- Function to recursively move from waitingChildren to failed.
3
- ]]
4
-
5
- -- Includes
6
- --- @include "moveParentToWaitIfNeeded"
7
- --- @include "removeDeduplicationKeyIfNeeded"
8
- --- @include "removeJobsOnFail"
9
-
10
- local function moveParentFromWaitingChildrenToFailed( parentQueueKey, parentKey, parentId, jobIdKey, timestamp)
11
- if rcall("ZREM", parentQueueKey .. ":waiting-children", parentId) == 1 then
12
- local parentQueuePrefix = parentQueueKey .. ":"
13
- local parentFailedKey = parentQueueKey .. ":failed"
14
- rcall("ZADD", parentFailedKey, timestamp, parentId)
15
- local failedReason = "child " .. jobIdKey .. " failed"
16
- rcall("HMSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
17
- rcall("XADD", parentQueueKey .. ":events", "*", "event", "failed", "jobId", parentId, "failedReason",
18
- failedReason, "prev", "waiting-children")
19
-
20
- local jobAttributes = rcall("HMGET", parentKey, "parent", "deid", "opts")
21
-
22
- removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
23
-
24
- if jobAttributes[1] then
25
- local parentData = cjson.decode(jobAttributes[1])
26
- if parentData['fpof'] then
27
- moveParentFromWaitingChildrenToFailed(
28
- parentData['queueKey'],
29
- parentData['queueKey'] .. ':' .. parentData['id'],
30
- parentData['id'],
31
- parentKey,
32
- timestamp
33
- )
34
- elseif parentData['idof'] or parentData['rdof'] then
35
- local grandParentKey = parentData['queueKey'] .. ':' .. parentData['id']
36
- local grandParentDependenciesSet = grandParentKey .. ":dependencies"
37
- if rcall("SREM", grandParentDependenciesSet, parentKey) == 1 then
38
- moveParentToWaitIfNeeded(parentData['queueKey'], grandParentDependenciesSet,
39
- grandParentKey, parentData['id'], timestamp)
40
- if parentData['idof'] then
41
- local grandParentFailedSet = grandParentKey .. ":failed"
42
- rcall("HSET", grandParentFailedSet, parentKey, failedReason)
43
- end
44
- end
45
- end
46
- end
47
-
48
- local parentRawOpts = jobAttributes[3]
49
- local parentOpts = cjson.decode(parentRawOpts)
50
-
51
- removeJobsOnFail(parentQueuePrefix, parentFailedKey, parentId, parentOpts, timestamp)
52
- end
53
- end
@@ -1,11 +0,0 @@
1
- --[[
2
- Function to remove deduplication key.
3
- ]]
4
-
5
- local function removeDeduplicationKey(prefixKey, jobKey)
6
- local deduplicationId = rcall("HGET", jobKey, "deid")
7
- if deduplicationId then
8
- local deduplicationKey = prefixKey .. "de:" .. deduplicationId
9
- rcall("DEL", deduplicationKey)
10
- end
11
- end
@@ -1,14 +0,0 @@
1
- --[[
2
- Function to remove deduplication key if needed.
3
- ]]
4
-
5
- local function removeDeduplicationKeyIfNeeded(prefixKey, deduplicationId)
6
- if deduplicationId then
7
- local deduplicationKey = prefixKey .. "de:" .. deduplicationId
8
- local pttl = rcall("PTTL", deduplicationKey)
9
-
10
- if pttl == 0 or pttl == -1 then
11
- rcall("DEL", deduplicationKey)
12
- end
13
- end
14
- end
@@ -1,60 +0,0 @@
1
- --[[
2
- Function to move job from active state to wait.
3
- Input:
4
- KEYS[1] active key
5
- KEYS[2] wait key
6
-
7
- KEYS[3] stalled key
8
- KEYS[4] job lock key
9
- KEYS[5] paused key
10
- KEYS[6] meta key
11
- KEYS[7] limiter key
12
- KEYS[8] prioritized key
13
- KEYS[9] marker key
14
- KEYS[10] event key
15
-
16
- ARGV[1] job id
17
- ARGV[2] lock token
18
- ARGV[3] job id key
19
- ]]
20
- local rcall = redis.call
21
-
22
- -- Includes
23
- --- @include "includes/addJobInTargetList"
24
- --- @include "includes/pushBackJobWithPriority"
25
- --- @include "includes/getOrSetMaxEvents"
26
- --- @include "includes/getTargetQueueList"
27
-
28
- local jobId = ARGV[1]
29
- local token = ARGV[2]
30
- local lockKey = KEYS[4]
31
-
32
- local lockToken = rcall("GET", lockKey)
33
- local pttl = rcall("PTTL", KEYS[7])
34
- if lockToken == token then
35
- local metaKey = KEYS[6]
36
- local removed = rcall("LREM", KEYS[1], 1, jobId)
37
- if removed > 0 then
38
- local target, isPausedOrMaxed = getTargetQueueList(metaKey, KEYS[1], KEYS[2], KEYS[5])
39
-
40
- rcall("SREM", KEYS[3], jobId)
41
-
42
- local priority = tonumber(rcall("HGET", ARGV[3], "priority")) or 0
43
-
44
- if priority > 0 then
45
- pushBackJobWithPriority(KEYS[8], priority, jobId)
46
- else
47
- addJobInTargetList(target, KEYS[9], "RPUSH", isPausedOrMaxed, jobId)
48
- end
49
-
50
- rcall("DEL", lockKey)
51
-
52
- local maxEvents = getOrSetMaxEvents(metaKey)
53
-
54
- -- Emit waiting event
55
- rcall("XADD", KEYS[10], "MAXLEN", "~", maxEvents, "*", "event", "waiting",
56
- "jobId", jobId)
57
- end
58
- end
59
-
60
- return pttl
@@ -1,156 +0,0 @@
1
- --[[
2
- Move stalled jobs to wait.
3
-
4
- Input:
5
- KEYS[1] 'stalled' (SET)
6
- KEYS[2] 'wait', (LIST)
7
- KEYS[3] 'active', (LIST)
8
- KEYS[4] 'failed', (ZSET)
9
- KEYS[5] 'stalled-check', (KEY)
10
- KEYS[6] 'meta', (KEY)
11
- KEYS[7] 'paused', (LIST)
12
- KEYS[8] 'marker'
13
- KEYS[9] 'event stream' (STREAM)
14
-
15
- ARGV[1] Max stalled job count
16
- ARGV[2] queue.toKey('')
17
- ARGV[3] timestamp
18
- ARGV[4] max check time
19
-
20
- Events:
21
- 'stalled' with stalled job id.
22
- ]]
23
-
24
- local rcall = redis.call
25
-
26
- -- Includes
27
- --- @include "includes/addJobInTargetList"
28
- --- @include "includes/batches"
29
- --- @include "includes/getTargetQueueList"
30
- --- @include "includes/moveParentFromWaitingChildrenToFailed"
31
- --- @include "includes/moveParentToWaitIfNeeded"
32
- --- @include "includes/removeDeduplicationKeyIfNeeded"
33
- --- @include "includes/removeJobsOnFail"
34
- --- @include "includes/trimEvents"
35
-
36
- local stalledKey = KEYS[1]
37
- local waitKey = KEYS[2]
38
- local activeKey = KEYS[3]
39
- local failedKey = KEYS[4]
40
- local stalledCheckKey = KEYS[5]
41
- local metaKey = KEYS[6]
42
- local pausedKey = KEYS[7]
43
- local markerKey = KEYS[8]
44
- local eventStreamKey = KEYS[9]
45
- local maxStalledJobCount = tonumber(ARGV[1])
46
- local queueKeyPrefix = ARGV[2]
47
- local timestamp = ARGV[3]
48
- local maxCheckTime = ARGV[4]
49
-
50
- if rcall("EXISTS", stalledCheckKey) == 1 then return {{}, {}} end
51
-
52
- rcall("SET", stalledCheckKey, timestamp, "PX", maxCheckTime)
53
-
54
- -- Trim events before emiting them to avoid trimming events emitted in this script
55
- trimEvents(metaKey, eventStreamKey)
56
-
57
- -- Move all stalled jobs to wait
58
- local stalling = rcall('SMEMBERS', stalledKey)
59
- local stalled = {}
60
- local failed = {}
61
- if (#stalling > 0) then
62
- rcall('DEL', stalledKey)
63
-
64
- -- Remove from active list
65
- for i, jobId in ipairs(stalling) do
66
- -- Markers in waitlist DEPRECATED in v5: Remove in v6.
67
- if string.sub(jobId, 1, 2) == "0:" then
68
- -- If the jobId is a delay marker ID we just remove it.
69
- rcall("LREM", activeKey, 1, jobId)
70
- else
71
- local jobKey = queueKeyPrefix .. jobId
72
-
73
- -- Check that the lock is also missing, then we can handle this job as really stalled.
74
- if (rcall("EXISTS", jobKey .. ":lock") == 0) then
75
- -- Remove from the active queue.
76
- local removed = rcall("LREM", activeKey, 1, jobId)
77
-
78
- if (removed > 0) then
79
- -- If this job has been stalled too many times, such as if it crashes the worker, then fail it.
80
- local stalledCount =
81
- rcall("HINCRBY", jobKey, "stalledCounter", 1)
82
- if (stalledCount > maxStalledJobCount) then
83
- local jobAttributes = rcall("HMGET", jobKey, "opts", "parent", "deid")
84
- local rawOpts = jobAttributes[1]
85
- local rawParentData = jobAttributes[2]
86
- local opts = cjson.decode(rawOpts)
87
- rcall("ZADD", failedKey, timestamp, jobId)
88
- removeDeduplicationKeyIfNeeded(queueKeyPrefix, jobAttributes[3])
89
-
90
- local failedReason =
91
- "job stalled more than allowable limit"
92
- rcall("HMSET", jobKey, "failedReason", failedReason,
93
- "finishedOn", timestamp)
94
- rcall("XADD", eventStreamKey, "*", "event",
95
- "failed", "jobId", jobId, 'prev', 'active',
96
- 'failedReason', failedReason)
97
-
98
- if rawParentData ~= false then
99
- if opts['fpof'] then
100
- local parentData = cjson.decode(rawParentData)
101
- moveParentFromWaitingChildrenToFailed(
102
- parentData['queueKey'],
103
- parentData['queueKey'] .. ':' .. parentData['id'],
104
- parentData['id'],
105
- jobKey,
106
- timestamp
107
- )
108
- elseif opts['idof'] or opts['rdof'] then
109
- local parentData = cjson.decode(rawParentData)
110
- local parentKey = parentData['queueKey'] .. ':' .. parentData['id']
111
- local dependenciesSet = parentKey .. ":dependencies"
112
- if rcall("SREM", dependenciesSet, jobKey) == 1 then
113
- moveParentToWaitIfNeeded(parentData['queueKey'], dependenciesSet,
114
- parentKey, parentData['id'], timestamp)
115
- if opts['idof'] then
116
- local failedSet = parentKey .. ":failed"
117
- rcall("HSET", failedSet, jobKey, failedReason)
118
- end
119
- end
120
- end
121
- end
122
-
123
- removeJobsOnFail(queueKeyPrefix, failedKey, jobId, opts, timestamp)
124
-
125
- table.insert(failed, jobId)
126
- else
127
- local target, isPausedOrMaxed =
128
- getTargetQueueList(metaKey, activeKey, waitKey, pausedKey)
129
-
130
- -- Move the job back to the wait queue, to immediately be picked up by a waiting worker.
131
- addJobInTargetList(target, markerKey, "RPUSH", isPausedOrMaxed, jobId)
132
-
133
- rcall("XADD", eventStreamKey, "*", "event",
134
- "waiting", "jobId", jobId, 'prev', 'active')
135
-
136
- -- Emit the stalled event
137
- rcall("XADD", eventStreamKey, "*", "event",
138
- "stalled", "jobId", jobId)
139
- table.insert(stalled, jobId)
140
- end
141
- end
142
- end
143
- end
144
- end
145
- end
146
-
147
- -- Mark potentially stalled jobs
148
- local active = rcall('LRANGE', activeKey, 0, -1)
149
-
150
- if (#active > 0) then
151
- for from, to in batches(#active, 7000) do
152
- rcall('SADD', stalledKey, unpack(active, from, to))
153
- end
154
- end
155
-
156
- return {failed, stalled}
@@ -1,68 +0,0 @@
1
- --[[
2
- Moves job from active to waiting children set.
3
-
4
- Input:
5
- KEYS[1] lock key
6
- KEYS[2] active key
7
- KEYS[3] waitChildrenKey key
8
- KEYS[4] job key
9
- KEYS[5] stalled key
10
-
11
- ARGV[1] token
12
- ARGV[2] child key
13
- ARGV[3] timestamp
14
- ARGV[4] the id of the job
15
-
16
- Output:
17
- 0 - OK
18
- 1 - There are not pending dependencies.
19
- -1 - Missing job.
20
- -2 - Missing lock
21
- -3 - Job not in active set
22
- ]]
23
- local rcall = redis.call
24
- local stalledKey = KEYS[5]
25
-
26
- --- Includes
27
- --- @include "includes/removeLock"
28
-
29
- local function moveToWaitingChildren (activeKey, waitingChildrenKey, jobId,
30
- timestamp)
31
- local score = tonumber(timestamp)
32
-
33
- local numRemovedElements = rcall("LREM", activeKey, -1, jobId)
34
-
35
- if(numRemovedElements < 1) then
36
- return -3
37
- end
38
-
39
- rcall("ZADD", waitingChildrenKey, score, jobId)
40
-
41
- return 0
42
- end
43
-
44
- if rcall("EXISTS", KEYS[4]) == 1 then
45
- if ARGV[2] ~= "" then
46
- if rcall("SISMEMBER", KEYS[4] .. ":dependencies", ARGV[2]) ~= 0 then
47
- local errorCode = removeLock(KEYS[4], stalledKey, ARGV[1], ARGV[4])
48
- if errorCode < 0 then
49
- return errorCode
50
- end
51
- return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3])
52
- end
53
-
54
- return 1
55
- else
56
- if rcall("SCARD", KEYS[4] .. ":dependencies") ~= 0 then
57
- local errorCode = removeLock(KEYS[4], stalledKey, ARGV[1], ARGV[4])
58
- if errorCode < 0 then
59
- return errorCode
60
- end
61
- return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3])
62
- end
63
-
64
- return 1
65
- end
66
- end
67
-
68
- return -1
@@ -1,13 +0,0 @@
1
- /**
2
- * Debounce options
3
- */
4
- export interface DebounceOptions {
5
- /**
6
- * ttl in milliseconds
7
- */
8
- ttl?: number;
9
- /**
10
- * Identifier
11
- */
12
- id: string;
13
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=debounce-options.js.map