bullmq 5.41.9 → 5.42.0

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 (78) hide show
  1. package/dist/cjs/classes/job-scheduler.js +3 -0
  2. package/dist/cjs/classes/job-scheduler.js.map +1 -1
  3. package/dist/cjs/classes/job.js +20 -13
  4. package/dist/cjs/classes/job.js.map +1 -1
  5. package/dist/cjs/classes/scripts.js +5 -1
  6. package/dist/cjs/classes/scripts.js.map +1 -1
  7. package/dist/cjs/classes/worker.js +4 -8
  8. package/dist/cjs/classes/worker.js.map +1 -1
  9. package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +11 -1
  10. package/dist/cjs/commands/includes/removeJobKeys.lua +2 -2
  11. package/dist/cjs/commands/includes/storeJobScheduler.lua +1 -1
  12. package/dist/cjs/commands/moveStalledJobsToWait-9.lua +5 -0
  13. package/dist/cjs/commands/moveToFinished-14.lua +2 -0
  14. package/dist/cjs/commands/moveToWaitingChildren-8.lua +133 -0
  15. package/dist/cjs/commands/removeJob-3.lua +10 -0
  16. package/dist/cjs/scripts/addJobScheduler-10.js +3 -3
  17. package/dist/cjs/scripts/addRepeatableJob-2.js +2 -2
  18. package/dist/cjs/scripts/cleanJobsInSet-3.js +2 -2
  19. package/dist/cjs/scripts/drain-5.js +2 -2
  20. package/dist/cjs/scripts/index.js +1 -1
  21. package/dist/cjs/scripts/moveStalledJobsToWait-9.js +17 -3
  22. package/dist/cjs/scripts/moveStalledJobsToWait-9.js.map +1 -1
  23. package/dist/cjs/scripts/moveToFinished-14.js +14 -3
  24. package/dist/cjs/scripts/moveToFinished-14.js.map +1 -1
  25. package/dist/cjs/scripts/moveToWaitingChildren-8.js +549 -0
  26. package/dist/cjs/scripts/moveToWaitingChildren-8.js.map +1 -0
  27. package/dist/cjs/scripts/obliterate-2.js +2 -2
  28. package/dist/cjs/scripts/removeChildDependency-1.js +2 -2
  29. package/dist/cjs/scripts/removeJob-3.js +10 -2
  30. package/dist/cjs/scripts/removeJob-3.js.map +1 -1
  31. package/dist/cjs/scripts/removeJobScheduler-3.js +2 -2
  32. package/dist/cjs/scripts/removeRepeatable-3.js +2 -2
  33. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  34. package/dist/cjs/version.js +1 -1
  35. package/dist/esm/classes/job-scheduler.js +3 -0
  36. package/dist/esm/classes/job-scheduler.js.map +1 -1
  37. package/dist/esm/classes/job.js +20 -13
  38. package/dist/esm/classes/job.js.map +1 -1
  39. package/dist/esm/classes/scripts.js +5 -1
  40. package/dist/esm/classes/scripts.js.map +1 -1
  41. package/dist/esm/classes/worker.js +4 -8
  42. package/dist/esm/classes/worker.js.map +1 -1
  43. package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +11 -1
  44. package/dist/esm/commands/includes/removeJobKeys.lua +2 -2
  45. package/dist/esm/commands/includes/storeJobScheduler.lua +1 -1
  46. package/dist/esm/commands/moveStalledJobsToWait-9.lua +5 -0
  47. package/dist/esm/commands/moveToFinished-14.lua +2 -0
  48. package/dist/esm/commands/moveToWaitingChildren-8.lua +133 -0
  49. package/dist/esm/commands/removeJob-3.lua +10 -0
  50. package/dist/esm/scripts/addJobScheduler-10.js +3 -3
  51. package/dist/esm/scripts/addRepeatableJob-2.js +2 -2
  52. package/dist/esm/scripts/cleanJobsInSet-3.js +2 -2
  53. package/dist/esm/scripts/drain-5.js +2 -2
  54. package/dist/esm/scripts/index.d.ts +1 -1
  55. package/dist/esm/scripts/index.js +1 -1
  56. package/dist/esm/scripts/moveStalledJobsToWait-9.js +17 -3
  57. package/dist/esm/scripts/moveStalledJobsToWait-9.js.map +1 -1
  58. package/dist/esm/scripts/moveToFinished-14.js +14 -3
  59. package/dist/esm/scripts/moveToFinished-14.js.map +1 -1
  60. package/dist/esm/scripts/moveToWaitingChildren-8.js +546 -0
  61. package/dist/esm/scripts/moveToWaitingChildren-8.js.map +1 -0
  62. package/dist/esm/scripts/obliterate-2.js +2 -2
  63. package/dist/esm/scripts/removeChildDependency-1.js +2 -2
  64. package/dist/esm/scripts/removeJob-3.js +10 -2
  65. package/dist/esm/scripts/removeJob-3.js.map +1 -1
  66. package/dist/esm/scripts/removeJobScheduler-3.js +2 -2
  67. package/dist/esm/scripts/removeRepeatable-3.js +2 -2
  68. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  69. package/dist/esm/version.d.ts +1 -1
  70. package/dist/esm/version.js +1 -1
  71. package/package.json +1 -1
  72. package/dist/cjs/commands/moveToWaitingChildren-5.lua +0 -68
  73. package/dist/cjs/scripts/moveToWaitingChildren-5.js +0 -83
  74. package/dist/cjs/scripts/moveToWaitingChildren-5.js.map +0 -1
  75. package/dist/esm/commands/moveToWaitingChildren-5.lua +0 -68
  76. package/dist/esm/scripts/moveToWaitingChildren-5.js +0 -80
  77. package/dist/esm/scripts/moveToWaitingChildren-5.js.map +0 -1
  78. /package/dist/esm/scripts/{moveToWaitingChildren-5.d.ts → moveToWaitingChildren-8.d.ts} +0 -0
@@ -27,7 +27,7 @@ export * from './moveStalledJobsToWait-9';
27
27
  export * from './moveToActive-11';
28
28
  export * from './moveToDelayed-8';
29
29
  export * from './moveToFinished-14';
30
- export * from './moveToWaitingChildren-5';
30
+ export * from './moveToWaitingChildren-8';
31
31
  export * from './obliterate-2';
32
32
  export * from './paginate-1';
33
33
  export * from './pause-7';
@@ -27,7 +27,7 @@ export * from './moveStalledJobsToWait-9';
27
27
  export * from './moveToActive-11';
28
28
  export * from './moveToDelayed-8';
29
29
  export * from './moveToFinished-14';
30
- export * from './moveToWaitingChildren-5';
30
+ export * from './moveToWaitingChildren-8';
31
31
  export * from './obliterate-2';
32
32
  export * from './paginate-1';
33
33
  export * from './pause-7';
@@ -210,8 +210,8 @@ end
210
210
  Function to remove job keys.
211
211
  ]]
212
212
  local function removeJobKeys(jobKey)
213
- return rcall("DEL", jobKey, jobKey .. ':logs',
214
- jobKey .. ':dependencies', jobKey .. ':processed', jobKey .. ':failed')
213
+ return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
214
+ jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
215
215
  end
216
216
  --[[
217
217
  Check if this job has a parent. If so we will just remove it from
@@ -367,13 +367,16 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
367
367
  local parentFailedKey = parentQueueKey .. ":failed"
368
368
  rcall("ZADD", parentFailedKey, timestamp, parentId)
369
369
  local failedReason = "child " .. jobIdKey .. " failed"
370
- rcall("HMSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
370
+ rcall("HSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
371
371
  rcall("XADD", parentQueueKey .. ":events", "*", "event", "failed", "jobId", parentId, "failedReason",
372
372
  failedReason, "prev", "waiting-children")
373
373
  local jobAttributes = rcall("HMGET", parentKey, "parent", "deid", "opts")
374
374
  removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
375
375
  if jobAttributes[1] then
376
376
  local parentData = cjson.decode(jobAttributes[1])
377
+ local grandParentKey = parentData['queueKey'] .. ':' .. parentData['id']
378
+ local grandParentUnsuccesssful = grandParentKey .. ":unsuccessful"
379
+ rcall("ZADD", grandParentUnsuccesssful, timestamp, parentKey)
377
380
  if parentData['fpof'] then
378
381
  moveParentFromWaitingChildrenToFailed(
379
382
  parentData['queueKey'],
@@ -435,6 +438,12 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
435
438
  local parentRawOpts = jobAttributes[3]
436
439
  local parentOpts = cjson.decode(parentRawOpts)
437
440
  removeJobsOnFail(parentQueuePrefix, parentFailedKey, parentId, parentOpts, timestamp)
441
+ else
442
+ local grandParentKey = rcall("HGET", parentKey, "parentKey")
443
+ if grandParentKey then
444
+ local grandParentUnsuccesssfulSet = grandParentKey .. ":unsuccessful"
445
+ rcall("ZADD", grandParentUnsuccesssfulSet, timestamp, parentKey)
446
+ end
438
447
  end
439
448
  end
440
449
  --[[
@@ -516,6 +525,11 @@ if (#stalling > 0) then
516
525
  if rawParentData then
517
526
  if opts['fpof'] then
518
527
  local parentData = cjson.decode(rawParentData)
528
+ -- TODO: need to remove this job from dependencies set in next breaking change
529
+ -- no for now as it would imply a breaking change
530
+ local parentKey = parentData['queueKey'] .. ':' .. parentData['id']
531
+ local unsuccesssfulSet = parentKey .. ":unsuccessful"
532
+ rcall("ZADD", unsuccesssfulSet, timestamp, jobKey)
519
533
  moveParentFromWaitingChildrenToFailed(
520
534
  parentData['queueKey'],
521
535
  parentData['queueKey'] .. ':' .. parentData['id'],
@@ -1 +1 @@
1
- {"version":3,"file":"moveStalledJobsToWait-9.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-9.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAqjBS,CAAC;AAC1B,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,uBAAuB;IAC7B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"moveStalledJobsToWait-9.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-9.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAmkBS,CAAC;AAC1B,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,uBAAuB;IAC7B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -305,8 +305,8 @@ end
305
305
  Function to remove job keys.
306
306
  ]]
307
307
  local function removeJobKeys(jobKey)
308
- return rcall("DEL", jobKey, jobKey .. ':logs',
309
- jobKey .. ':dependencies', jobKey .. ':processed', jobKey .. ':failed')
308
+ return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
309
+ jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
310
310
  end
311
311
  --[[
312
312
  Check if this job has a parent. If so we will just remove it from
@@ -462,13 +462,16 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
462
462
  local parentFailedKey = parentQueueKey .. ":failed"
463
463
  rcall("ZADD", parentFailedKey, timestamp, parentId)
464
464
  local failedReason = "child " .. jobIdKey .. " failed"
465
- rcall("HMSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
465
+ rcall("HSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
466
466
  rcall("XADD", parentQueueKey .. ":events", "*", "event", "failed", "jobId", parentId, "failedReason",
467
467
  failedReason, "prev", "waiting-children")
468
468
  local jobAttributes = rcall("HMGET", parentKey, "parent", "deid", "opts")
469
469
  removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
470
470
  if jobAttributes[1] then
471
471
  local parentData = cjson.decode(jobAttributes[1])
472
+ local grandParentKey = parentData['queueKey'] .. ':' .. parentData['id']
473
+ local grandParentUnsuccesssful = grandParentKey .. ":unsuccessful"
474
+ rcall("ZADD", grandParentUnsuccesssful, timestamp, parentKey)
472
475
  if parentData['fpof'] then
473
476
  moveParentFromWaitingChildrenToFailed(
474
477
  parentData['queueKey'],
@@ -530,6 +533,12 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
530
533
  local parentRawOpts = jobAttributes[3]
531
534
  local parentOpts = cjson.decode(parentRawOpts)
532
535
  removeJobsOnFail(parentQueuePrefix, parentFailedKey, parentId, parentOpts, timestamp)
536
+ else
537
+ local grandParentKey = rcall("HGET", parentKey, "parentKey")
538
+ if grandParentKey then
539
+ local grandParentUnsuccesssfulSet = grandParentKey .. ":unsuccessful"
540
+ rcall("ZADD", grandParentUnsuccesssfulSet, timestamp, parentKey)
541
+ end
533
542
  end
534
543
  end
535
544
  --[[
@@ -719,6 +728,8 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
719
728
  end
720
729
  else
721
730
  if opts['fpof'] then
731
+ local unsuccesssfulSet = parentKey .. ":unsuccessful"
732
+ rcall("ZADD", unsuccesssfulSet, timestamp, jobIdKey)
722
733
  moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
723
734
  parentId, jobIdKey,
724
735
  timestamp)
@@ -1 +1 @@
1
- {"version":3,"file":"moveToFinished-14.js","sourceRoot":"","sources":["../../../src/scripts/moveToFinished-14.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAo0Bf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,EAAE;CACT,CAAC"}
1
+ {"version":3,"file":"moveToFinished-14.js","sourceRoot":"","sources":["../../../src/scripts/moveToFinished-14.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+0Bf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,EAAE;CACT,CAAC"}