bullmq 5.5.3 → 5.6.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 (43) hide show
  1. package/dist/cjs/classes/scripts.js +9 -1
  2. package/dist/cjs/classes/scripts.js.map +1 -1
  3. package/dist/cjs/classes/worker.js +9 -3
  4. package/dist/cjs/classes/worker.js.map +1 -1
  5. package/dist/cjs/commands/includes/removeLock.lua +19 -0
  6. package/dist/cjs/commands/{moveToDelayed-7.lua → moveToDelayed-8.lua} +7 -8
  7. package/dist/{esm/commands/moveToWaitingChildren-4.lua → cjs/commands/moveToWaitingChildren-5.lua} +15 -13
  8. package/dist/cjs/commands/{retryJob-10.lua → retryJob-11.lua} +5 -8
  9. package/dist/cjs/scripts/index.js +3 -3
  10. package/dist/cjs/scripts/{moveToDelayed-7.js → moveToDelayed-8.js} +27 -10
  11. package/dist/cjs/scripts/moveToDelayed-8.js.map +1 -0
  12. package/dist/cjs/scripts/{moveToWaitingChildren-4.js → moveToWaitingChildren-5.js} +30 -10
  13. package/dist/cjs/scripts/moveToWaitingChildren-5.js.map +1 -0
  14. package/dist/cjs/scripts/{retryJob-10.js → retryJob-11.js} +25 -9
  15. package/dist/cjs/scripts/retryJob-11.js.map +1 -0
  16. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  17. package/dist/esm/classes/scripts.js +9 -1
  18. package/dist/esm/classes/scripts.js.map +1 -1
  19. package/dist/esm/classes/worker.js +9 -3
  20. package/dist/esm/classes/worker.js.map +1 -1
  21. package/dist/esm/commands/includes/removeLock.lua +19 -0
  22. package/dist/esm/commands/{moveToDelayed-7.lua → moveToDelayed-8.lua} +7 -8
  23. package/dist/{cjs/commands/moveToWaitingChildren-4.lua → esm/commands/moveToWaitingChildren-5.lua} +15 -13
  24. package/dist/esm/commands/{retryJob-10.lua → retryJob-11.lua} +5 -8
  25. package/dist/esm/scripts/index.d.ts +3 -3
  26. package/dist/esm/scripts/index.js +3 -3
  27. package/dist/esm/scripts/{moveToDelayed-7.js → moveToDelayed-8.js} +27 -10
  28. package/dist/esm/scripts/moveToDelayed-8.js.map +1 -0
  29. package/dist/esm/scripts/{moveToWaitingChildren-4.js → moveToWaitingChildren-5.js} +30 -10
  30. package/dist/esm/scripts/moveToWaitingChildren-5.js.map +1 -0
  31. package/dist/esm/scripts/{retryJob-10.js → retryJob-11.js} +25 -9
  32. package/dist/esm/scripts/retryJob-11.js.map +1 -0
  33. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +1 -1
  35. package/dist/cjs/scripts/moveToDelayed-7.js.map +0 -1
  36. package/dist/cjs/scripts/moveToWaitingChildren-4.js.map +0 -1
  37. package/dist/cjs/scripts/retryJob-10.js.map +0 -1
  38. package/dist/esm/scripts/moveToDelayed-7.js.map +0 -1
  39. package/dist/esm/scripts/moveToWaitingChildren-4.js.map +0 -1
  40. package/dist/esm/scripts/retryJob-10.js.map +0 -1
  41. /package/dist/esm/scripts/{moveToDelayed-7.d.ts → moveToDelayed-8.d.ts} +0 -0
  42. /package/dist/esm/scripts/{moveToWaitingChildren-4.d.ts → moveToWaitingChildren-5.d.ts} +0 -0
  43. /package/dist/esm/scripts/{retryJob-10.d.ts → retryJob-11.d.ts} +0 -0
@@ -494,6 +494,7 @@ class Scripts {
494
494
  this.queue.toKey(jobId),
495
495
  queueKeys.events,
496
496
  queueKeys.meta,
497
+ queueKeys.stalled,
497
498
  ];
498
499
  return keys.concat([
499
500
  this.queue.keys[''],
@@ -512,7 +513,13 @@ class Scripts {
512
513
  moveToWaitingChildrenArgs(jobId, token, opts) {
513
514
  const timestamp = Date.now();
514
515
  const childKey = (0, utils_1.getParentKey)(opts.child);
515
- const keys = [`${jobId}:lock`, 'active', 'waiting-children', jobId].map(name => {
516
+ const keys = [
517
+ `${jobId}:lock`,
518
+ 'active',
519
+ 'waiting-children',
520
+ jobId,
521
+ 'stalled',
522
+ ].map(name => {
516
523
  return this.queue.toKey(name);
517
524
  });
518
525
  return keys.concat([
@@ -592,6 +599,7 @@ class Scripts {
592
599
  this.queue.keys.prioritized,
593
600
  this.queue.keys.pc,
594
601
  this.queue.keys.marker,
602
+ this.queue.keys.stalled,
595
603
  ];
596
604
  const pushCmd = (lifo ? 'R' : 'L') + 'PUSH';
597
605
  return keys.concat([
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/classes/scripts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/classes/scripts.ts"],"names":[],"mappings":"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"}
@@ -179,8 +179,17 @@ class Worker extends queue_base_1.QueueBase {
179
179
  let tokenPostfix = 0;
180
180
  const client = await this.client;
181
181
  const bclient = await this.blockingConnection.client;
182
+ /**
183
+ * This is the main loop in BullMQ. Its goals are to fetch jobs from the queue
184
+ * as efficiently as possible, providing concurrency and minimal unnecessary calls
185
+ * to Redis.
186
+ */
182
187
  while (!this.closing) {
183
188
  let numTotal = asyncFifoQueue.numTotal();
189
+ /**
190
+ * This inner loop tries to fetch jobs concurrently, but if we are waiting for a job
191
+ * to arrive at the queue we should not try to fetch more jobs (as it would be pointless)
192
+ */
184
193
  while (!this.waiting &&
185
194
  numTotal < this.opts.concurrency &&
186
195
  (!this.limitUntil || numTotal == 0)) {
@@ -320,9 +329,6 @@ class Worker extends queue_base_1.QueueBase {
320
329
  await this.delay();
321
330
  }
322
331
  }
323
- finally {
324
- this.waiting = null;
325
- }
326
332
  return Infinity;
327
333
  }
328
334
  getBlockTimeout(blockUntil) {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/classes/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/classes/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ local function removeLock(jobKey, stalledKey, token, jobId)
2
+ if token ~= "0" then
3
+ local lockKey = jobKey .. ':lock'
4
+ local lockToken = rcall("GET", lockKey)
5
+ if lockToken == token then
6
+ rcall("DEL", lockKey)
7
+ rcall("SREM", stalledKey, jobId)
8
+ else
9
+ if lockToken then
10
+ -- Lock exists but token does not match
11
+ return -6
12
+ else
13
+ -- Lock is missing completely
14
+ return -2
15
+ end
16
+ end
17
+ end
18
+ return 0
19
+ end
@@ -9,6 +9,7 @@
9
9
  KEYS[5] job key
10
10
  KEYS[6] events stream
11
11
  KEYS[7] meta key
12
+ KEYS[8] stalled key
12
13
 
13
14
  ARGV[1] key prefix
14
15
  ARGV[2] timestamp
@@ -32,20 +33,18 @@ local rcall = redis.call
32
33
  --- @include "includes/addDelayMarkerIfNeeded"
33
34
  --- @include "includes/getOrSetMaxEvents"
34
35
  --- @include "includes/isQueuePaused"
36
+ --- @include "includes/removeLock"
35
37
 
36
38
  local jobKey = KEYS[5]
37
39
  local metaKey = KEYS[7]
40
+ local token = ARGV[5]
38
41
  if rcall("EXISTS", jobKey) == 1 then
39
- local delayedKey = KEYS[4]
40
- if ARGV[5] ~= "0" then
41
- local lockKey = jobKey .. ':lock'
42
- if rcall("GET", lockKey) == ARGV[5] then
43
- rcall("DEL", lockKey)
44
- else
45
- return -2
46
- end
42
+ local errorCode = removeLock(jobKey, KEYS[8], token, ARGV[4])
43
+ if errorCode < 0 then
44
+ return errorCode
47
45
  end
48
46
 
47
+ local delayedKey = KEYS[4]
49
48
  local jobId = ARGV[4]
50
49
  local score = tonumber(ARGV[3])
51
50
  local delayedTimestamp = (score / 0x1000)
@@ -6,6 +6,7 @@
6
6
  KEYS[2] active key
7
7
  KEYS[3] waitChildrenKey key
8
8
  KEYS[4] job key
9
+ KEYS[5] stalled key
9
10
 
10
11
  ARGV[1] token
11
12
  ARGV[2] child key
@@ -21,16 +22,11 @@
21
22
  ]]
22
23
  local rcall = redis.call
23
24
 
24
- local function moveToWaitingChildren (activeKey, waitingChildrenKey, jobId, timestamp,
25
- lockKey, jobKey, token)
26
- if token ~= "0" then
27
- if rcall("GET", lockKey) == token then
28
- rcall("DEL", lockKey)
29
- else
30
- return -2
31
- end
32
- end
25
+ -- Includes
26
+ --- @include "includes/removeLock"
33
27
 
28
+ local function moveToWaitingChildren (activeKey, waitingChildrenKey, jobId,
29
+ timestamp)
34
30
  local score = tonumber(timestamp)
35
31
 
36
32
  local numRemovedElements = rcall("LREM", activeKey, -1, jobId)
@@ -47,15 +43,21 @@ end
47
43
  if rcall("EXISTS", KEYS[4]) == 1 then
48
44
  if ARGV[2] ~= "" then
49
45
  if rcall("SISMEMBER", KEYS[4] .. ":dependencies", ARGV[2]) ~= 0 then
50
- return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3], KEYS[1], KEYS[4],
51
- ARGV[1])
46
+ local errorCode = removeLock(KEYS[4], KEYS[5], ARGV[1], ARGV[4])
47
+ if errorCode < 0 then
48
+ return errorCode
49
+ end
50
+ return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3])
52
51
  end
53
52
 
54
53
  return 1
55
54
  else
56
55
  if rcall("SCARD", KEYS[4] .. ":dependencies") ~= 0 then
57
- return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3], KEYS[1], KEYS[4],
58
- ARGV[1])
56
+ local errorCode = removeLock(KEYS[4], KEYS[5], ARGV[1], ARGV[4])
57
+ if errorCode < 0 then
58
+ return errorCode
59
+ end
60
+ return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3])
59
61
  end
60
62
 
61
63
  return 1
@@ -12,6 +12,7 @@
12
12
  KEYS[8] prioritized key
13
13
  KEYS[9] 'pc' priority counter
14
14
  KEYS[10] 'marker'
15
+ KEYS[11] 'stalled'
15
16
 
16
17
  ARGV[1] key prefix
17
18
  ARGV[2] timestamp
@@ -34,6 +35,7 @@ local rcall = redis.call
34
35
  --- @include "includes/getOrSetMaxEvents"
35
36
  --- @include "includes/getTargetQueueList"
36
37
  --- @include "includes/promoteDelayedJobs"
38
+ --- @include "includes/removeLock"
37
39
 
38
40
  local target, paused = getTargetQueueList(KEYS[5], KEYS[2], KEYS[3])
39
41
  local markerKey = KEYS[10]
@@ -43,14 +45,9 @@ local markerKey = KEYS[10]
43
45
  promoteDelayedJobs(KEYS[7], markerKey, target, KEYS[8], KEYS[6], ARGV[1], ARGV[2], KEYS[9], paused)
44
46
 
45
47
  if rcall("EXISTS", KEYS[4]) == 1 then
46
-
47
- if ARGV[5] ~= "0" then
48
- local lockKey = KEYS[4] .. ':lock'
49
- if rcall("GET", lockKey) == ARGV[5] then
50
- rcall("DEL", lockKey)
51
- else
52
- return -2
53
- end
48
+ local errorCode = removeLock(KEYS[4], KEYS[11], ARGV[5], ARGV[4])
49
+ if errorCode < 0 then
50
+ return errorCode
54
51
  end
55
52
 
56
53
  rcall("LREM", KEYS[1], 0, ARGV[4])
@@ -20,9 +20,9 @@ tslib_1.__exportStar(require("./moveJobFromActiveToWait-10"), exports);
20
20
  tslib_1.__exportStar(require("./moveJobsToWait-7"), exports);
21
21
  tslib_1.__exportStar(require("./moveStalledJobsToWait-9"), exports);
22
22
  tslib_1.__exportStar(require("./moveToActive-11"), exports);
23
- tslib_1.__exportStar(require("./moveToDelayed-7"), exports);
23
+ tslib_1.__exportStar(require("./moveToDelayed-8"), exports);
24
24
  tslib_1.__exportStar(require("./moveToFinished-14"), exports);
25
- tslib_1.__exportStar(require("./moveToWaitingChildren-4"), exports);
25
+ tslib_1.__exportStar(require("./moveToWaitingChildren-5"), exports);
26
26
  tslib_1.__exportStar(require("./obliterate-2"), exports);
27
27
  tslib_1.__exportStar(require("./paginate-1"), exports);
28
28
  tslib_1.__exportStar(require("./pause-7"), exports);
@@ -32,7 +32,7 @@ tslib_1.__exportStar(require("./removeChildDependency-1"), exports);
32
32
  tslib_1.__exportStar(require("./removeJob-1"), exports);
33
33
  tslib_1.__exportStar(require("./removeRepeatable-2"), exports);
34
34
  tslib_1.__exportStar(require("./reprocessJob-7"), exports);
35
- tslib_1.__exportStar(require("./retryJob-10"), exports);
35
+ tslib_1.__exportStar(require("./retryJob-11"), exports);
36
36
  tslib_1.__exportStar(require("./saveStacktrace-1"), exports);
37
37
  tslib_1.__exportStar(require("./updateData-1"), exports);
38
38
  tslib_1.__exportStar(require("./updateProgress-3"), exports);
@@ -11,6 +11,7 @@ const content = `--[[
11
11
  KEYS[5] job key
12
12
  KEYS[6] events stream
13
13
  KEYS[7] meta key
14
+ KEYS[8] stalled key
14
15
  ARGV[1] key prefix
15
16
  ARGV[2] timestamp
16
17
  ARGV[3] delayedTimestamp
@@ -70,18 +71,34 @@ end
70
71
  local function isQueuePaused(queueMetaKey)
71
72
  return rcall("HEXISTS", queueMetaKey, "paused") == 1
72
73
  end
74
+ local function removeLock(jobKey, stalledKey, token, jobId)
75
+ if token ~= "0" then
76
+ local lockKey = jobKey .. ':lock'
77
+ local lockToken = rcall("GET", lockKey)
78
+ if lockToken == token then
79
+ rcall("DEL", lockKey)
80
+ rcall("SREM", stalledKey, jobId)
81
+ else
82
+ if lockToken then
83
+ -- Lock exists but token does not match
84
+ return -6
85
+ else
86
+ -- Lock is missing completely
87
+ return -2
88
+ end
89
+ end
90
+ end
91
+ return 0
92
+ end
73
93
  local jobKey = KEYS[5]
74
94
  local metaKey = KEYS[7]
95
+ local token = ARGV[5]
75
96
  if rcall("EXISTS", jobKey) == 1 then
76
- local delayedKey = KEYS[4]
77
- if ARGV[5] ~= "0" then
78
- local lockKey = jobKey .. ':lock'
79
- if rcall("GET", lockKey) == ARGV[5] then
80
- rcall("DEL", lockKey)
81
- else
82
- return -2
83
- end
97
+ local errorCode = removeLock(jobKey, KEYS[8], token, ARGV[4])
98
+ if errorCode < 0 then
99
+ return errorCode
84
100
  end
101
+ local delayedKey = KEYS[4]
85
102
  local jobId = ARGV[4]
86
103
  local score = tonumber(ARGV[3])
87
104
  local delayedTimestamp = (score / 0x1000)
@@ -109,6 +126,6 @@ end
109
126
  exports.moveToDelayed = {
110
127
  name: 'moveToDelayed',
111
128
  content,
112
- keys: 7,
129
+ keys: 8,
113
130
  };
114
- //# sourceMappingURL=moveToDelayed-7.js.map
131
+ //# sourceMappingURL=moveToDelayed-8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moveToDelayed-8.js","sourceRoot":"","sources":["../../../src/scripts/moveToDelayed-8.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHf,CAAC;AACW,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,eAAe;IACrB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -8,6 +8,7 @@ const content = `--[[
8
8
  KEYS[2] active key
9
9
  KEYS[3] waitChildrenKey key
10
10
  KEYS[4] job key
11
+ KEYS[5] stalled key
11
12
  ARGV[1] token
12
13
  ARGV[2] child key
13
14
  ARGV[3] timestamp
@@ -20,15 +21,28 @@ const content = `--[[
20
21
  -3 - Job not in active set
21
22
  ]]
22
23
  local rcall = redis.call
23
- local function moveToWaitingChildren (activeKey, waitingChildrenKey, jobId, timestamp,
24
- lockKey, jobKey, token)
24
+ -- Includes
25
+ local function removeLock(jobKey, stalledKey, token, jobId)
25
26
  if token ~= "0" then
26
- if rcall("GET", lockKey) == token then
27
+ local lockKey = jobKey .. ':lock'
28
+ local lockToken = rcall("GET", lockKey)
29
+ if lockToken == token then
27
30
  rcall("DEL", lockKey)
31
+ rcall("SREM", stalledKey, jobId)
28
32
  else
29
- return -2
33
+ if lockToken then
34
+ -- Lock exists but token does not match
35
+ return -6
36
+ else
37
+ -- Lock is missing completely
38
+ return -2
39
+ end
30
40
  end
31
41
  end
42
+ return 0
43
+ end
44
+ local function moveToWaitingChildren (activeKey, waitingChildrenKey, jobId,
45
+ timestamp)
32
46
  local score = tonumber(timestamp)
33
47
  local numRemovedElements = rcall("LREM", activeKey, -1, jobId)
34
48
  if(numRemovedElements < 1) then
@@ -40,14 +54,20 @@ end
40
54
  if rcall("EXISTS", KEYS[4]) == 1 then
41
55
  if ARGV[2] ~= "" then
42
56
  if rcall("SISMEMBER", KEYS[4] .. ":dependencies", ARGV[2]) ~= 0 then
43
- return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3], KEYS[1], KEYS[4],
44
- ARGV[1])
57
+ local errorCode = removeLock(KEYS[4], KEYS[5], 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])
45
62
  end
46
63
  return 1
47
64
  else
48
65
  if rcall("SCARD", KEYS[4] .. ":dependencies") ~= 0 then
49
- return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3], KEYS[1], KEYS[4],
50
- ARGV[1])
66
+ local errorCode = removeLock(KEYS[4], KEYS[5], ARGV[1], ARGV[4])
67
+ if errorCode < 0 then
68
+ return errorCode
69
+ end
70
+ return moveToWaitingChildren(KEYS[2], KEYS[3], ARGV[4], ARGV[3])
51
71
  end
52
72
  return 1
53
73
  end
@@ -57,6 +77,6 @@ return -1
57
77
  exports.moveToWaitingChildren = {
58
78
  name: 'moveToWaitingChildren',
59
79
  content,
60
- keys: 4,
80
+ keys: 5,
61
81
  };
62
- //# sourceMappingURL=moveToWaitingChildren-4.js.map
82
+ //# sourceMappingURL=moveToWaitingChildren-5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moveToWaitingChildren-5.js","sourceRoot":"","sources":["../../../src/scripts/moveToWaitingChildren-5.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEf,CAAC;AACW,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,uBAAuB;IAC7B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}