bullmq 1.57.4 → 1.59.2

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 (383) hide show
  1. package/dist/bullmq.d.ts +1839 -0
  2. package/dist/{classes → cjs/classes}/backoffs.d.ts +0 -0
  3. package/dist/{classes → cjs/classes}/backoffs.js +0 -0
  4. package/dist/cjs/classes/backoffs.js.map +1 -0
  5. package/dist/{classes → cjs/classes}/child-pool.d.ts +0 -0
  6. package/dist/{classes → cjs/classes}/child-pool.js +1 -1
  7. package/dist/cjs/classes/child-pool.js.map +1 -0
  8. package/dist/{classes → cjs/classes}/child-processor.d.ts +0 -0
  9. package/dist/{classes → cjs/classes}/child-processor.js +0 -0
  10. package/dist/cjs/classes/child-processor.js.map +1 -0
  11. package/dist/{classes → cjs/classes}/compat.d.ts +0 -0
  12. package/dist/{classes → cjs/classes}/compat.js +0 -0
  13. package/dist/cjs/classes/compat.js.map +1 -0
  14. package/dist/{classes → cjs/classes}/flow-producer.d.ts +0 -0
  15. package/dist/{classes → cjs/classes}/flow-producer.js +0 -0
  16. package/dist/cjs/classes/flow-producer.js.map +1 -0
  17. package/dist/{classes → cjs/classes}/index.d.ts +0 -0
  18. package/dist/{classes → cjs/classes}/index.js +0 -0
  19. package/dist/cjs/classes/index.js.map +1 -0
  20. package/dist/{classes → cjs/classes}/job.d.ts +0 -0
  21. package/dist/{classes → cjs/classes}/job.js +0 -0
  22. package/dist/cjs/classes/job.js.map +1 -0
  23. package/dist/{classes → cjs/classes}/master.d.ts +0 -0
  24. package/dist/{classes → cjs/classes}/master.js +0 -0
  25. package/dist/cjs/classes/master.js.map +1 -0
  26. package/dist/{classes → cjs/classes}/process-utils.d.ts +0 -0
  27. package/dist/{classes → cjs/classes}/process-utils.js +0 -0
  28. package/dist/cjs/classes/process-utils.js.map +1 -0
  29. package/dist/{classes → cjs/classes}/queue-base.d.ts +0 -0
  30. package/dist/{classes → cjs/classes}/queue-base.js +0 -0
  31. package/dist/cjs/classes/queue-base.js.map +1 -0
  32. package/dist/{classes → cjs/classes}/queue-events.d.ts +0 -0
  33. package/dist/{classes → cjs/classes}/queue-events.js +0 -0
  34. package/dist/cjs/classes/queue-events.js.map +1 -0
  35. package/dist/{classes → cjs/classes}/queue-getters.d.ts +0 -0
  36. package/dist/{classes → cjs/classes}/queue-getters.js +0 -0
  37. package/dist/cjs/classes/queue-getters.js.map +1 -0
  38. package/dist/{classes → cjs/classes}/queue-keys.d.ts +0 -0
  39. package/dist/{classes → cjs/classes}/queue-keys.js +0 -0
  40. package/dist/cjs/classes/queue-keys.js.map +1 -0
  41. package/dist/{classes → cjs/classes}/queue-scheduler.d.ts +0 -0
  42. package/dist/{classes → cjs/classes}/queue-scheduler.js +0 -0
  43. package/dist/cjs/classes/queue-scheduler.js.map +1 -0
  44. package/dist/{classes → cjs/classes}/queue.d.ts +2 -2
  45. package/dist/{classes → cjs/classes}/queue.js +0 -0
  46. package/dist/cjs/classes/queue.js.map +1 -0
  47. package/dist/{classes → cjs/classes}/redis-connection.d.ts +0 -0
  48. package/dist/{classes → cjs/classes}/redis-connection.js +0 -0
  49. package/dist/cjs/classes/redis-connection.js.map +1 -0
  50. package/dist/{classes → cjs/classes}/repeat.d.ts +2 -2
  51. package/dist/{classes → cjs/classes}/repeat.js +3 -6
  52. package/dist/cjs/classes/repeat.js.map +1 -0
  53. package/dist/{classes → cjs/classes}/sandbox.d.ts +0 -0
  54. package/dist/{classes → cjs/classes}/sandbox.js +0 -0
  55. package/dist/cjs/classes/sandbox.js.map +1 -0
  56. package/dist/{classes → cjs/classes}/scripts.d.ts +2 -0
  57. package/dist/{classes → cjs/classes}/scripts.js +18 -0
  58. package/dist/cjs/classes/scripts.js.map +1 -0
  59. package/dist/{classes → cjs/classes}/timer-manager.d.ts +0 -0
  60. package/dist/{classes → cjs/classes}/timer-manager.js +0 -0
  61. package/dist/cjs/classes/timer-manager.js.map +1 -0
  62. package/dist/{classes → cjs/classes}/worker.d.ts +33 -18
  63. package/dist/{classes → cjs/classes}/worker.js +18 -3
  64. package/dist/cjs/classes/worker.js.map +1 -0
  65. package/dist/{commands → cjs/commands}/addJob-9.lua +0 -0
  66. package/dist/{commands → cjs/commands}/changeDelay-4.lua +0 -0
  67. package/dist/{commands → cjs/commands}/cleanJobsInSet-2.lua +0 -0
  68. package/dist/{commands → cjs/commands}/drain-4.lua +0 -0
  69. package/dist/{commands → cjs/commands}/extendLock-2.lua +0 -0
  70. package/dist/{commands → cjs/commands}/getState-7.lua +0 -0
  71. package/dist/{commands → cjs/commands}/getStateV2-7.lua +0 -0
  72. package/dist/{commands → cjs/commands}/includes/destructureJobKey.lua +0 -0
  73. package/dist/{commands → cjs/commands}/includes/updateParentDepsIfNeeded.lua +0 -0
  74. package/dist/{commands → cjs/commands}/index.d.ts +0 -0
  75. package/dist/{commands → cjs/commands}/index.js +0 -0
  76. package/dist/cjs/commands/index.js.map +1 -0
  77. package/dist/{commands → cjs/commands}/isFinished-3.lua +0 -0
  78. package/dist/{commands → cjs/commands}/isJobInList-1.lua +0 -0
  79. package/dist/{commands → cjs/commands}/moveStalledJobsToWait-8.lua +0 -0
  80. package/dist/{commands → cjs/commands}/moveToActive-8.lua +0 -0
  81. package/dist/{commands → cjs/commands}/moveToDelayed-5.lua +0 -0
  82. package/dist/{commands → cjs/commands}/moveToFinished-8.lua +0 -0
  83. package/dist/{commands → cjs/commands}/moveToWaitingChildren-4.lua +0 -0
  84. package/dist/{commands → cjs/commands}/obliterate-2.lua +0 -0
  85. package/dist/{commands → cjs/commands}/pause-4.lua +0 -0
  86. package/dist/{commands → cjs/commands}/promote-5.lua +0 -0
  87. package/dist/{commands → cjs/commands}/releaseLock-1.lua +0 -0
  88. package/dist/{commands → cjs/commands}/removeJob-1.lua +0 -0
  89. package/dist/{commands → cjs/commands}/removeRepeatable-2.lua +0 -0
  90. package/dist/{commands → cjs/commands}/reprocessJob-4.lua +0 -0
  91. package/dist/{commands → cjs/commands}/retryJob-4.lua +0 -0
  92. package/dist/{commands → cjs/commands}/script-loader.d.ts +0 -0
  93. package/dist/{commands → cjs/commands}/script-loader.js +0 -0
  94. package/dist/cjs/commands/script-loader.js.map +1 -0
  95. package/dist/{commands → cjs/commands}/takeLock-1.lua +0 -0
  96. package/dist/{commands → cjs/commands}/updateDelaySet-7.lua +0 -0
  97. package/dist/{commands → cjs/commands}/updateProgress-2.lua +0 -0
  98. package/dist/{enums → cjs/enums}/error-codes.enum.d.ts +0 -0
  99. package/dist/{enums → cjs/enums}/error-codes.enum.js +0 -0
  100. package/dist/cjs/enums/error-codes.enum.js.map +1 -0
  101. package/dist/{enums → cjs/enums}/index.d.ts +0 -0
  102. package/dist/{enums → cjs/enums}/index.js +0 -0
  103. package/dist/{enums → cjs/enums}/index.js.map +1 -1
  104. package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  105. package/dist/{index.js → cjs/index.js} +0 -0
  106. package/dist/cjs/index.js.map +1 -0
  107. package/dist/{interfaces → cjs/interfaces}/advanced-options.d.ts +0 -0
  108. package/dist/{interfaces → cjs/interfaces}/advanced-options.js +0 -0
  109. package/dist/cjs/interfaces/advanced-options.js.map +1 -0
  110. package/dist/{interfaces → cjs/interfaces}/backoff-options.d.ts +0 -0
  111. package/dist/{interfaces → cjs/interfaces}/backoff-options.js +0 -0
  112. package/dist/cjs/interfaces/backoff-options.js.map +1 -0
  113. package/dist/{interfaces → cjs/interfaces}/child-command.d.ts +0 -0
  114. package/dist/{interfaces → cjs/interfaces}/child-command.js +0 -0
  115. package/dist/cjs/interfaces/child-command.js.map +1 -0
  116. package/dist/{interfaces → cjs/interfaces}/child-message.d.ts +0 -0
  117. package/dist/{interfaces → cjs/interfaces}/child-message.js +0 -0
  118. package/dist/cjs/interfaces/child-message.js.map +1 -0
  119. package/dist/{interfaces → cjs/interfaces}/connection.d.ts +0 -0
  120. package/dist/{interfaces → cjs/interfaces}/connection.js +0 -0
  121. package/dist/cjs/interfaces/connection.js.map +1 -0
  122. package/dist/{interfaces → cjs/interfaces}/flow-job.d.ts +0 -0
  123. package/dist/{interfaces → cjs/interfaces}/flow-job.js +0 -0
  124. package/dist/{interfaces → cjs/interfaces}/flow-job.js.map +1 -1
  125. package/dist/{interfaces → cjs/interfaces}/index.d.ts +0 -0
  126. package/dist/{interfaces → cjs/interfaces}/index.js +0 -0
  127. package/dist/cjs/interfaces/index.js.map +1 -0
  128. package/dist/{interfaces → cjs/interfaces}/jobs-options.d.ts +0 -0
  129. package/dist/{interfaces → cjs/interfaces}/jobs-options.js +0 -0
  130. package/dist/cjs/interfaces/jobs-options.js.map +1 -0
  131. package/dist/{interfaces → cjs/interfaces}/parent-command.d.ts +0 -0
  132. package/dist/{interfaces → cjs/interfaces}/parent-command.js +0 -0
  133. package/dist/cjs/interfaces/parent-command.js.map +1 -0
  134. package/dist/{interfaces → cjs/interfaces}/parent-message.d.ts +0 -0
  135. package/dist/{interfaces → cjs/interfaces}/parent-message.js +0 -0
  136. package/dist/cjs/interfaces/parent-message.js.map +1 -0
  137. package/dist/{interfaces → cjs/interfaces}/parent.d.ts +0 -0
  138. package/dist/{interfaces → cjs/interfaces}/parent.js +0 -0
  139. package/dist/{interfaces → cjs/interfaces}/parent.js.map +1 -1
  140. package/dist/{interfaces → cjs/interfaces}/queue-options.d.ts +0 -0
  141. package/dist/{interfaces → cjs/interfaces}/queue-options.js +0 -0
  142. package/dist/cjs/interfaces/queue-options.js.map +1 -0
  143. package/dist/{interfaces → cjs/interfaces}/queue-scheduler-options.d.ts +0 -0
  144. package/dist/{interfaces → cjs/interfaces}/queue-scheduler-options.js +0 -0
  145. package/dist/cjs/interfaces/queue-scheduler-options.js.map +1 -0
  146. package/dist/{interfaces → cjs/interfaces}/rate-limiter-options.d.ts +0 -0
  147. package/dist/{interfaces → cjs/interfaces}/rate-limiter-options.js +0 -0
  148. package/dist/cjs/interfaces/rate-limiter-options.js.map +1 -0
  149. package/dist/{interfaces → cjs/interfaces}/redis-options.d.ts +0 -0
  150. package/dist/{interfaces → cjs/interfaces}/redis-options.js +0 -0
  151. package/dist/cjs/interfaces/redis-options.js.map +1 -0
  152. package/dist/{interfaces → cjs/interfaces}/redis-streams.d.ts +0 -0
  153. package/dist/{interfaces → cjs/interfaces}/redis-streams.js +0 -0
  154. package/dist/cjs/interfaces/redis-streams.js.map +1 -0
  155. package/dist/{interfaces → cjs/interfaces}/repeat-options.d.ts +0 -0
  156. package/dist/{interfaces → cjs/interfaces}/repeat-options.js +0 -0
  157. package/dist/cjs/interfaces/repeat-options.js.map +1 -0
  158. package/dist/{interfaces → cjs/interfaces}/sandboxed-job-processor.d.ts +0 -0
  159. package/dist/{interfaces → cjs/interfaces}/sandboxed-job-processor.js +0 -0
  160. package/dist/cjs/interfaces/sandboxed-job-processor.js.map +1 -0
  161. package/dist/{interfaces → cjs/interfaces}/sandboxed-job.d.ts +0 -0
  162. package/dist/{interfaces → cjs/interfaces}/sandboxed-job.js +0 -0
  163. package/dist/cjs/interfaces/sandboxed-job.js.map +1 -0
  164. package/dist/{interfaces → cjs/interfaces}/worker-options.d.ts +0 -0
  165. package/dist/{interfaces → cjs/interfaces}/worker-options.js +0 -0
  166. package/dist/cjs/interfaces/worker-options.js.map +1 -0
  167. package/dist/{utils.d.ts → cjs/utils.d.ts} +0 -0
  168. package/dist/{utils.js → cjs/utils.js} +0 -0
  169. package/dist/cjs/utils.js.map +1 -0
  170. package/dist/esm/classes/backoffs.d.ts +15 -0
  171. package/dist/esm/classes/backoffs.js +44 -0
  172. package/dist/esm/classes/backoffs.js.map +1 -0
  173. package/dist/esm/classes/child-pool.d.ts +22 -0
  174. package/dist/esm/classes/child-pool.js +125 -0
  175. package/dist/esm/classes/child-pool.js.map +1 -0
  176. package/dist/esm/classes/child-processor.d.ts +24 -0
  177. package/dist/esm/classes/child-processor.js +165 -0
  178. package/dist/esm/classes/child-processor.js.map +1 -0
  179. package/dist/esm/classes/compat.d.ts +316 -0
  180. package/dist/esm/classes/compat.js +674 -0
  181. package/dist/esm/classes/compat.js.map +1 -0
  182. package/dist/esm/classes/flow-producer.d.ts +148 -0
  183. package/dist/esm/classes/flow-producer.js +228 -0
  184. package/dist/esm/classes/flow-producer.js.map +1 -0
  185. package/dist/esm/classes/index.d.ts +14 -0
  186. package/dist/esm/classes/index.js +15 -0
  187. package/dist/esm/classes/index.js.map +1 -0
  188. package/dist/esm/classes/job.d.ts +338 -0
  189. package/dist/esm/classes/job.js +623 -0
  190. package/dist/esm/classes/job.js.map +1 -0
  191. package/dist/esm/classes/master.d.ts +1 -0
  192. package/dist/esm/classes/master.js +35 -0
  193. package/dist/esm/classes/master.js.map +1 -0
  194. package/dist/esm/classes/process-utils.d.ts +7 -0
  195. package/dist/esm/classes/process-utils.js +31 -0
  196. package/dist/esm/classes/process-utils.js.map +1 -0
  197. package/dist/esm/classes/queue-base.d.ts +22 -0
  198. package/dist/esm/classes/queue-base.js +62 -0
  199. package/dist/esm/classes/queue-base.js.map +1 -0
  200. package/dist/esm/classes/queue-events.d.ts +153 -0
  201. package/dist/esm/classes/queue-events.js +108 -0
  202. package/dist/esm/classes/queue-events.js.map +1 -0
  203. package/dist/esm/classes/queue-getters.d.ts +54 -0
  204. package/dist/esm/classes/queue-getters.js +207 -0
  205. package/dist/esm/classes/queue-getters.js.map +1 -0
  206. package/dist/esm/classes/queue-keys.d.ts +10 -0
  207. package/dist/esm/classes/queue-keys.js +40 -0
  208. package/dist/esm/classes/queue-keys.js.map +1 -0
  209. package/dist/esm/classes/queue-scheduler.d.ts +35 -0
  210. package/dist/esm/classes/queue-scheduler.js +156 -0
  211. package/dist/esm/classes/queue-scheduler.js.map +1 -0
  212. package/dist/esm/classes/queue.d.ts +143 -0
  213. package/dist/esm/classes/queue.js +195 -0
  214. package/dist/esm/classes/queue.js.map +1 -0
  215. package/dist/esm/classes/redis-connection.d.ts +28 -0
  216. package/dist/esm/classes/redis-connection.js +164 -0
  217. package/dist/esm/classes/redis-connection.js.map +1 -0
  218. package/dist/esm/classes/repeat.d.ts +20 -0
  219. package/dist/esm/classes/repeat.js +140 -0
  220. package/dist/esm/classes/repeat.js.map +1 -0
  221. package/dist/esm/classes/sandbox.d.ts +4 -0
  222. package/dist/esm/classes/sandbox.js +56 -0
  223. package/dist/esm/classes/sandbox.js.map +1 -0
  224. package/dist/esm/classes/scripts.d.ts +82 -0
  225. package/dist/esm/classes/scripts.js +510 -0
  226. package/dist/esm/classes/scripts.js.map +1 -0
  227. package/dist/esm/classes/timer-manager.d.ts +17 -0
  228. package/dist/esm/classes/timer-manager.js +47 -0
  229. package/dist/esm/classes/timer-manager.js.map +1 -0
  230. package/dist/esm/classes/worker.d.ts +168 -0
  231. package/dist/esm/classes/worker.js +469 -0
  232. package/dist/esm/classes/worker.js.map +1 -0
  233. package/dist/esm/commands/addJob-9.lua +179 -0
  234. package/dist/esm/commands/changeDelay-4.lua +41 -0
  235. package/dist/esm/commands/cleanJobsInSet-2.lua +65 -0
  236. package/dist/esm/commands/drain-4.lua +36 -0
  237. package/dist/esm/commands/extendLock-2.lua +23 -0
  238. package/dist/esm/commands/getState-7.lua +63 -0
  239. package/dist/esm/commands/getStateV2-7.lua +51 -0
  240. package/dist/esm/commands/includes/destructureJobKey.lua +12 -0
  241. package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +19 -0
  242. package/dist/esm/commands/index.d.ts +4 -0
  243. package/dist/esm/commands/index.js +5 -0
  244. package/dist/esm/commands/index.js.map +1 -0
  245. package/dist/esm/commands/isFinished-3.lua +48 -0
  246. package/dist/esm/commands/isJobInList-1.lua +20 -0
  247. package/dist/esm/commands/moveStalledJobsToWait-8.lua +112 -0
  248. package/dist/esm/commands/moveToActive-8.lua +100 -0
  249. package/dist/esm/commands/moveToDelayed-5.lua +45 -0
  250. package/dist/esm/commands/moveToFinished-8.lua +159 -0
  251. package/dist/esm/commands/moveToWaitingChildren-4.lua +60 -0
  252. package/dist/esm/commands/obliterate-2.lua +129 -0
  253. package/dist/esm/commands/pause-4.lua +27 -0
  254. package/dist/esm/commands/promote-5.lua +54 -0
  255. package/dist/esm/commands/releaseLock-1.lua +19 -0
  256. package/dist/esm/commands/removeJob-1.lua +115 -0
  257. package/dist/esm/commands/removeRepeatable-2.lua +23 -0
  258. package/dist/esm/commands/reprocessJob-4.lua +32 -0
  259. package/dist/esm/commands/retryJob-4.lua +34 -0
  260. package/dist/esm/commands/script-loader.d.ts +120 -0
  261. package/dist/esm/commands/script-loader.js +395 -0
  262. package/dist/esm/commands/script-loader.js.map +1 -0
  263. package/dist/esm/commands/takeLock-1.lua +17 -0
  264. package/dist/esm/commands/updateDelaySet-7.lua +73 -0
  265. package/dist/esm/commands/updateProgress-2.lua +15 -0
  266. package/dist/esm/enums/error-codes.enum.d.ts +7 -0
  267. package/dist/esm/enums/error-codes.enum.js +9 -0
  268. package/dist/esm/enums/error-codes.enum.js.map +1 -0
  269. package/dist/esm/enums/index.d.ts +1 -0
  270. package/dist/esm/enums/index.js +2 -0
  271. package/dist/esm/enums/index.js.map +1 -0
  272. package/dist/esm/index.d.ts +5 -0
  273. package/dist/esm/index.js +6 -0
  274. package/dist/esm/index.js.map +1 -0
  275. package/dist/esm/interfaces/advanced-options.d.ts +6 -0
  276. package/dist/esm/interfaces/advanced-options.js +2 -0
  277. package/dist/esm/interfaces/advanced-options.js.map +1 -0
  278. package/dist/esm/interfaces/backoff-options.d.ts +15 -0
  279. package/dist/esm/interfaces/backoff-options.js +2 -0
  280. package/dist/esm/interfaces/backoff-options.js.map +1 -0
  281. package/dist/esm/interfaces/child-command.d.ts +5 -0
  282. package/dist/esm/interfaces/child-command.js +7 -0
  283. package/dist/esm/interfaces/child-command.js.map +1 -0
  284. package/dist/esm/interfaces/child-message.d.ts +6 -0
  285. package/dist/esm/interfaces/child-message.js +2 -0
  286. package/dist/esm/interfaces/child-message.js.map +1 -0
  287. package/dist/esm/interfaces/connection.d.ts +8 -0
  288. package/dist/esm/interfaces/connection.js +2 -0
  289. package/dist/esm/interfaces/connection.js.map +1 -0
  290. package/dist/esm/interfaces/flow-job.d.ts +14 -0
  291. package/dist/esm/interfaces/flow-job.js +2 -0
  292. package/dist/esm/interfaces/flow-job.js.map +1 -0
  293. package/dist/esm/interfaces/index.d.ts +19 -0
  294. package/dist/esm/interfaces/index.js +20 -0
  295. package/dist/esm/interfaces/index.js.map +1 -0
  296. package/dist/esm/interfaces/jobs-options.d.ts +91 -0
  297. package/dist/esm/interfaces/jobs-options.js +2 -0
  298. package/dist/esm/interfaces/jobs-options.js.map +1 -0
  299. package/dist/esm/interfaces/parent-command.d.ts +9 -0
  300. package/dist/esm/interfaces/parent-command.js +11 -0
  301. package/dist/esm/interfaces/parent-command.js.map +1 -0
  302. package/dist/esm/interfaces/parent-message.d.ts +8 -0
  303. package/dist/esm/interfaces/parent-message.js +2 -0
  304. package/dist/esm/interfaces/parent-message.js.map +1 -0
  305. package/dist/esm/interfaces/parent.d.ts +11 -0
  306. package/dist/esm/interfaces/parent.js +2 -0
  307. package/dist/esm/interfaces/parent.js.map +1 -0
  308. package/dist/esm/interfaces/queue-options.d.ts +72 -0
  309. package/dist/esm/interfaces/queue-options.js +6 -0
  310. package/dist/esm/interfaces/queue-options.js.map +1 -0
  311. package/dist/esm/interfaces/queue-scheduler-options.d.ts +23 -0
  312. package/dist/esm/interfaces/queue-scheduler-options.js +2 -0
  313. package/dist/esm/interfaces/queue-scheduler-options.js.map +1 -0
  314. package/dist/esm/interfaces/rate-limiter-options.d.ts +30 -0
  315. package/dist/esm/interfaces/rate-limiter-options.js +2 -0
  316. package/dist/esm/interfaces/rate-limiter-options.js.map +1 -0
  317. package/dist/esm/interfaces/redis-options.d.ts +5 -0
  318. package/dist/esm/interfaces/redis-options.js +2 -0
  319. package/dist/esm/interfaces/redis-options.js.map +1 -0
  320. package/dist/esm/interfaces/redis-streams.d.ts +4 -0
  321. package/dist/esm/interfaces/redis-streams.js +2 -0
  322. package/dist/esm/interfaces/redis-streams.js.map +1 -0
  323. package/dist/esm/interfaces/repeat-options.d.ts +44 -0
  324. package/dist/esm/interfaces/repeat-options.js +2 -0
  325. package/dist/esm/interfaces/repeat-options.js.map +1 -0
  326. package/dist/esm/interfaces/sandboxed-job-processor.d.ts +5 -0
  327. package/dist/esm/interfaces/sandboxed-job-processor.js +2 -0
  328. package/dist/esm/interfaces/sandboxed-job-processor.js.map +1 -0
  329. package/dist/esm/interfaces/sandboxed-job.d.ts +13 -0
  330. package/dist/esm/interfaces/sandboxed-job.js +2 -0
  331. package/dist/esm/interfaces/sandboxed-job.js.map +1 -0
  332. package/dist/esm/interfaces/worker-options.d.ts +32 -0
  333. package/dist/esm/interfaces/worker-options.js +2 -0
  334. package/dist/esm/interfaces/worker-options.js.map +1 -0
  335. package/dist/esm/tsdoc-metadata.json +11 -0
  336. package/dist/esm/utils.d.ts +29 -0
  337. package/dist/esm/utils.js +124 -0
  338. package/dist/esm/utils.js.map +1 -0
  339. package/package.json +15 -12
  340. package/dist/classes/backoffs.js.map +0 -1
  341. package/dist/classes/child-pool.js.map +0 -1
  342. package/dist/classes/child-processor.js.map +0 -1
  343. package/dist/classes/compat.js.map +0 -1
  344. package/dist/classes/flow-producer.js.map +0 -1
  345. package/dist/classes/index.js.map +0 -1
  346. package/dist/classes/job.js.map +0 -1
  347. package/dist/classes/master.js.map +0 -1
  348. package/dist/classes/process-utils.js.map +0 -1
  349. package/dist/classes/queue-base.js.map +0 -1
  350. package/dist/classes/queue-events.js.map +0 -1
  351. package/dist/classes/queue-getters.js.map +0 -1
  352. package/dist/classes/queue-keys.js.map +0 -1
  353. package/dist/classes/queue-scheduler.js.map +0 -1
  354. package/dist/classes/queue.js.map +0 -1
  355. package/dist/classes/redis-connection.js.map +0 -1
  356. package/dist/classes/repeat.js.map +0 -1
  357. package/dist/classes/sandbox.js.map +0 -1
  358. package/dist/classes/scripts.js.map +0 -1
  359. package/dist/classes/timer-manager.js.map +0 -1
  360. package/dist/classes/worker.js.map +0 -1
  361. package/dist/commands/index.js.map +0 -1
  362. package/dist/commands/script-loader.js.map +0 -1
  363. package/dist/enums/error-codes.enum.js.map +0 -1
  364. package/dist/index.js.map +0 -1
  365. package/dist/interfaces/advanced-options.js.map +0 -1
  366. package/dist/interfaces/backoff-options.js.map +0 -1
  367. package/dist/interfaces/child-command.js.map +0 -1
  368. package/dist/interfaces/child-message.js.map +0 -1
  369. package/dist/interfaces/connection.js.map +0 -1
  370. package/dist/interfaces/index.js.map +0 -1
  371. package/dist/interfaces/jobs-options.js.map +0 -1
  372. package/dist/interfaces/parent-command.js.map +0 -1
  373. package/dist/interfaces/parent-message.js.map +0 -1
  374. package/dist/interfaces/queue-options.js.map +0 -1
  375. package/dist/interfaces/queue-scheduler-options.js.map +0 -1
  376. package/dist/interfaces/rate-limiter-options.js.map +0 -1
  377. package/dist/interfaces/redis-options.js.map +0 -1
  378. package/dist/interfaces/redis-streams.js.map +0 -1
  379. package/dist/interfaces/repeat-options.js.map +0 -1
  380. package/dist/interfaces/sandboxed-job-processor.js.map +0 -1
  381. package/dist/interfaces/sandboxed-job.js.map +0 -1
  382. package/dist/interfaces/worker-options.js.map +0 -1
  383. package/dist/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["../../../src/classes/compat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import { Pipeline } from 'ioredis';
4
+ import { RedisClient, QueueBaseOptions } from '../interfaces';
5
+ import { FlowJob, FlowQueuesOpts, FlowOpts } from '../interfaces/flow-job';
6
+ import { Job } from './job';
7
+ import { KeysMap, QueueKeys } from './queue-keys';
8
+ import { RedisConnection } from './redis-connection';
9
+ export interface AddNodeOpts {
10
+ multi: Pipeline;
11
+ node: FlowJob;
12
+ parent?: {
13
+ parentOpts: {
14
+ id: string;
15
+ queue: string;
16
+ };
17
+ parentDependenciesKey: string;
18
+ };
19
+ /**
20
+ * Queues options that will be applied in each node depending on queue name presence.
21
+ */
22
+ queuesOpts?: FlowQueuesOpts;
23
+ }
24
+ export interface AddChildrenOpts {
25
+ multi: Pipeline;
26
+ nodes: FlowJob[];
27
+ parent: {
28
+ parentOpts: {
29
+ id: string;
30
+ queue: string;
31
+ };
32
+ parentDependenciesKey: string;
33
+ };
34
+ queuesOpts?: FlowQueuesOpts;
35
+ }
36
+ export interface NodeOpts {
37
+ /**
38
+ * Root job queue name.
39
+ */
40
+ queueName: string;
41
+ /**
42
+ * Prefix included in job key.
43
+ */
44
+ prefix?: string;
45
+ /**
46
+ * Root job id.
47
+ */
48
+ id: string;
49
+ /**
50
+ * Maximum depth or levels to visit in the tree.
51
+ */
52
+ depth?: number;
53
+ /**
54
+ * Maximum quantity of children per type (processed, unprocessed).
55
+ */
56
+ maxChildren?: number;
57
+ }
58
+ export interface JobNode {
59
+ job: Job;
60
+ children?: JobNode[];
61
+ }
62
+ /**
63
+ * This class allows to add jobs with dependencies between them in such
64
+ * a way that it is possible to build complex flows.
65
+ * Note: A flow is a tree-like structure of jobs that depend on each other.
66
+ * Whenever the children of a given parent are completed, the parent
67
+ * will be processed, being able to access the children's result data.
68
+ * All Jobs can be in different queues, either children or parents,
69
+ */
70
+ export declare class FlowProducer extends EventEmitter {
71
+ opts: QueueBaseOptions;
72
+ toKey: (name: string, type: string) => string;
73
+ keys: KeysMap;
74
+ closing: Promise<void>;
75
+ queueKeys: QueueKeys;
76
+ protected connection: RedisConnection;
77
+ constructor(opts?: QueueBaseOptions);
78
+ /**
79
+ * Adds a flow.
80
+ *
81
+ * This call would be atomic, either it fails and no jobs will
82
+ * be added to the queues, or it succeeds and all jobs will be added.
83
+ *
84
+ * @param flow - an object with a tree-like structure where children jobs
85
+ * will be processed before their parents.
86
+ * @param opts - options that will be applied to the flow object.
87
+ */
88
+ add(flow: FlowJob, opts?: FlowOpts): Promise<JobNode>;
89
+ /**
90
+ * Get a flow.
91
+ *
92
+ * @param opts - an object with options for getting a JobNode.
93
+ */
94
+ getFlow(opts: NodeOpts): Promise<JobNode>;
95
+ get client(): Promise<RedisClient>;
96
+ /**
97
+ * Adds multiple flows.
98
+ *
99
+ * A flow is a tree-like structure of jobs that depend on each other.
100
+ * Whenever the children of a given parent are completed, the parent
101
+ * will be processed, being able to access the children's result data.
102
+ *
103
+ * All Jobs can be in different queues, either children or parents,
104
+ * however this call would be atomic, either it fails and no jobs will
105
+ * be added to the queues, or it succeeds and all jobs will be added.
106
+ *
107
+ * @param flows - an array of objects with a tree-like structure where children jobs
108
+ * will be processed before their parents.
109
+ */
110
+ addBulk(flows: FlowJob[]): Promise<JobNode[]>;
111
+ /**
112
+ * Add a node (job) of a flow to the queue. This method will recursively
113
+ * add all its children as well. Note that a given job can potentially be
114
+ * a parent and a child job at the same time depending on where it is located
115
+ * in the tree hierarchy.
116
+ *
117
+ * @param multi - ioredis pipeline
118
+ * @param node - the node representing a job to be added to some queue
119
+ * @param parent - parent data sent to children to create the "links" to their parent
120
+ * @returns
121
+ */
122
+ private addNode;
123
+ /**
124
+ * Adds nodes (jobs) of multiple flows to the queue. This method will recursively
125
+ * add all its children as well. Note that a given job can potentially be
126
+ * a parent and a child job at the same time depending on where it is located
127
+ * in the tree hierarchy.
128
+ *
129
+ * @param multi - ioredis pipeline
130
+ * @param nodes - the nodes representing jobs to be added to some queue
131
+ * @returns
132
+ */
133
+ private addNodes;
134
+ private getNode;
135
+ private addChildren;
136
+ private getChildren;
137
+ /**
138
+ * Helper factory method that creates a queue-like object
139
+ * required to create jobs in any queue.
140
+ *
141
+ * @param node -
142
+ * @param queueKeys -
143
+ * @returns
144
+ */
145
+ private queueFromNode;
146
+ close(): Promise<void>;
147
+ disconnect(): Promise<void>;
148
+ }
@@ -0,0 +1,228 @@
1
+ import { EventEmitter } from 'events';
2
+ import { v4 } from 'uuid';
3
+ import { getParentKey, jobIdForGroup } from '../utils';
4
+ import { Job } from './job';
5
+ import { QueueKeys } from './queue-keys';
6
+ import { RedisConnection } from './redis-connection';
7
+ /**
8
+ * This class allows to add jobs with dependencies between them in such
9
+ * a way that it is possible to build complex flows.
10
+ * Note: A flow is a tree-like structure of jobs that depend on each other.
11
+ * Whenever the children of a given parent are completed, the parent
12
+ * will be processed, being able to access the children's result data.
13
+ * All Jobs can be in different queues, either children or parents,
14
+ */
15
+ export class FlowProducer extends EventEmitter {
16
+ constructor(opts = {}) {
17
+ super();
18
+ this.opts = opts;
19
+ this.opts = Object.assign({ prefix: 'bull' }, opts);
20
+ this.connection = new RedisConnection(opts.connection);
21
+ this.connection.on('error', this.emit.bind(this, 'error'));
22
+ this.queueKeys = new QueueKeys(opts.prefix);
23
+ }
24
+ /**
25
+ * Adds a flow.
26
+ *
27
+ * This call would be atomic, either it fails and no jobs will
28
+ * be added to the queues, or it succeeds and all jobs will be added.
29
+ *
30
+ * @param flow - an object with a tree-like structure where children jobs
31
+ * will be processed before their parents.
32
+ * @param opts - options that will be applied to the flow object.
33
+ */
34
+ async add(flow, opts) {
35
+ if (this.closing) {
36
+ return;
37
+ }
38
+ const client = await this.connection.client;
39
+ const multi = client.multi();
40
+ const jobsTree = this.addNode({
41
+ multi,
42
+ node: flow,
43
+ queuesOpts: opts === null || opts === void 0 ? void 0 : opts.queuesOptions,
44
+ });
45
+ await multi.exec();
46
+ return jobsTree;
47
+ }
48
+ /**
49
+ * Get a flow.
50
+ *
51
+ * @param opts - an object with options for getting a JobNode.
52
+ */
53
+ async getFlow(opts) {
54
+ if (this.closing) {
55
+ return;
56
+ }
57
+ const client = await this.connection.client;
58
+ const updatedOpts = Object.assign({
59
+ depth: 10,
60
+ maxChildren: 20,
61
+ }, opts);
62
+ const jobsTree = this.getNode(client, updatedOpts);
63
+ return jobsTree;
64
+ }
65
+ get client() {
66
+ return this.connection.client;
67
+ }
68
+ /**
69
+ * Adds multiple flows.
70
+ *
71
+ * A flow is a tree-like structure of jobs that depend on each other.
72
+ * Whenever the children of a given parent are completed, the parent
73
+ * will be processed, being able to access the children's result data.
74
+ *
75
+ * All Jobs can be in different queues, either children or parents,
76
+ * however this call would be atomic, either it fails and no jobs will
77
+ * be added to the queues, or it succeeds and all jobs will be added.
78
+ *
79
+ * @param flows - an array of objects with a tree-like structure where children jobs
80
+ * will be processed before their parents.
81
+ */
82
+ async addBulk(flows) {
83
+ if (this.closing) {
84
+ return;
85
+ }
86
+ const client = await this.connection.client;
87
+ const multi = client.multi();
88
+ const jobsTrees = this.addNodes(multi, flows);
89
+ await multi.exec();
90
+ return jobsTrees;
91
+ }
92
+ /**
93
+ * Add a node (job) of a flow to the queue. This method will recursively
94
+ * add all its children as well. Note that a given job can potentially be
95
+ * a parent and a child job at the same time depending on where it is located
96
+ * in the tree hierarchy.
97
+ *
98
+ * @param multi - ioredis pipeline
99
+ * @param node - the node representing a job to be added to some queue
100
+ * @param parent - parent data sent to children to create the "links" to their parent
101
+ * @returns
102
+ */
103
+ addNode({ multi, node, parent, queuesOpts }) {
104
+ const queue = this.queueFromNode(node, new QueueKeys(node.prefix || this.opts.prefix));
105
+ const queueOpts = queuesOpts && queuesOpts[node.queueName];
106
+ const jobId = jobIdForGroup(node.opts, node.data, queueOpts) || v4();
107
+ const job = new Job(queue, node.name, node.data, Object.assign(Object.assign({}, node.opts), { parent: parent === null || parent === void 0 ? void 0 : parent.parentOpts }), jobId);
108
+ const parentKey = getParentKey(parent === null || parent === void 0 ? void 0 : parent.parentOpts);
109
+ if (node.children && node.children.length > 0) {
110
+ // Create parent job, will be a job in status "waiting-children".
111
+ const parentId = jobId;
112
+ const queueKeysParent = new QueueKeys(node.prefix || this.opts.prefix);
113
+ const waitChildrenKey = queueKeysParent.toKey(node.queueName, 'waiting-children');
114
+ job.addJob(multi, {
115
+ parentDependenciesKey: parent === null || parent === void 0 ? void 0 : parent.parentDependenciesKey,
116
+ waitChildrenKey,
117
+ parentKey,
118
+ });
119
+ const parentDependenciesKey = `${queueKeysParent.toKey(node.queueName, parentId)}:dependencies`;
120
+ const children = this.addChildren({
121
+ multi,
122
+ nodes: node.children,
123
+ parent: {
124
+ parentOpts: {
125
+ id: parentId,
126
+ queue: queueKeysParent.getPrefixedQueueName(node.queueName),
127
+ },
128
+ parentDependenciesKey,
129
+ },
130
+ queuesOpts,
131
+ });
132
+ return { job, children };
133
+ }
134
+ else {
135
+ job.addJob(multi, {
136
+ parentDependenciesKey: parent === null || parent === void 0 ? void 0 : parent.parentDependenciesKey,
137
+ parentKey,
138
+ });
139
+ return { job };
140
+ }
141
+ }
142
+ /**
143
+ * Adds nodes (jobs) of multiple flows to the queue. This method will recursively
144
+ * add all its children as well. Note that a given job can potentially be
145
+ * a parent and a child job at the same time depending on where it is located
146
+ * in the tree hierarchy.
147
+ *
148
+ * @param multi - ioredis pipeline
149
+ * @param nodes - the nodes representing jobs to be added to some queue
150
+ * @returns
151
+ */
152
+ addNodes(multi, nodes) {
153
+ return nodes.map(node => this.addNode({ multi, node }));
154
+ }
155
+ async getNode(client, node) {
156
+ const queue = this.queueFromNode(node, new QueueKeys(node.prefix));
157
+ const job = await Job.fromId(queue, node.id);
158
+ if (job) {
159
+ const { processed = {}, unprocessed = [] } = await job.getDependencies({
160
+ processed: {
161
+ count: node.maxChildren,
162
+ },
163
+ unprocessed: {
164
+ count: node.maxChildren,
165
+ },
166
+ });
167
+ const processedKeys = Object.keys(processed);
168
+ const childrenCount = processedKeys.length + unprocessed.length;
169
+ const newDepth = node.depth - 1;
170
+ if (childrenCount > 0 && newDepth) {
171
+ const children = await this.getChildren(client, [...processedKeys, ...unprocessed], newDepth, node.maxChildren);
172
+ return { job, children };
173
+ }
174
+ else {
175
+ return { job };
176
+ }
177
+ }
178
+ }
179
+ addChildren({ multi, nodes, parent, queuesOpts }) {
180
+ return nodes.map(node => this.addNode({ multi, node, parent, queuesOpts }));
181
+ }
182
+ getChildren(client, childrenKeys, depth, maxChildren) {
183
+ const getChild = (key) => {
184
+ const [prefix, queueName, id] = key.split(':');
185
+ return this.getNode(client, {
186
+ id,
187
+ queueName,
188
+ prefix,
189
+ depth,
190
+ maxChildren,
191
+ });
192
+ };
193
+ return Promise.all([...childrenKeys.map(getChild)]);
194
+ }
195
+ /**
196
+ * Helper factory method that creates a queue-like object
197
+ * required to create jobs in any queue.
198
+ *
199
+ * @param node -
200
+ * @param queueKeys -
201
+ * @returns
202
+ */
203
+ queueFromNode(node, queueKeys) {
204
+ return {
205
+ client: this.connection.client,
206
+ name: node.queueName,
207
+ keys: queueKeys.getKeys(node.queueName),
208
+ toKey: (type) => queueKeys.toKey(node.queueName, type),
209
+ opts: {},
210
+ closing: this.closing,
211
+ waitUntilReady: async () => this.connection.client,
212
+ removeListener: this.removeListener.bind(this),
213
+ emit: this.emit.bind(this),
214
+ on: this.on.bind(this),
215
+ redisVersion: this.connection.redisVersion,
216
+ };
217
+ }
218
+ close() {
219
+ if (!this.closing) {
220
+ this.closing = this.connection.close();
221
+ }
222
+ return this.closing;
223
+ }
224
+ disconnect() {
225
+ return this.connection.disconnect();
226
+ }
227
+ }
228
+ //# sourceMappingURL=flow-producer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-producer.js","sourceRoot":"","sources":["../../../src/classes/flow-producer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export * from './backoffs';
2
+ export * from './job';
3
+ export * from './queue-base';
4
+ export * from './queue-events';
5
+ export * from './queue-getters';
6
+ export * from './queue-scheduler';
7
+ export * from './queue';
8
+ export * from './redis-connection';
9
+ export * from './repeat';
10
+ export * from './scripts';
11
+ export * from './worker';
12
+ export * from './child-pool';
13
+ export * from './sandbox';
14
+ export * from './flow-producer';
@@ -0,0 +1,15 @@
1
+ export * from './backoffs';
2
+ export * from './job';
3
+ export * from './queue-base';
4
+ export * from './queue-events';
5
+ export * from './queue-getters';
6
+ export * from './queue-scheduler';
7
+ export * from './queue';
8
+ export * from './redis-connection';
9
+ export * from './repeat';
10
+ export * from './scripts';
11
+ export * from './worker';
12
+ export * from './child-pool';
13
+ export * from './sandbox';
14
+ export * from './flow-producer';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}