bullmq 3.13.4 → 3.14.1

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 (92) hide show
  1. package/dist/cjs/classes/job.js +1 -1
  2. package/dist/cjs/classes/worker.js.map +1 -1
  3. package/dist/cjs/commands/addJob-8.lua +2 -2
  4. package/dist/cjs/commands/changeDelay-3.lua +2 -3
  5. package/dist/cjs/commands/getRanges-1.lua +1 -1
  6. package/dist/cjs/commands/includes/addDelayMarkerIfNeeded.lua +3 -3
  7. package/dist/cjs/commands/includes/cleanSet.lua +2 -2
  8. package/dist/cjs/commands/includes/getRateLimitTTL.lua +1 -1
  9. package/dist/cjs/commands/includes/promoteDelayedJobs.lua +4 -9
  10. package/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +0 -1
  11. package/dist/cjs/commands/isFinished-3.lua +3 -3
  12. package/dist/cjs/commands/moveToActive-9.lua +51 -46
  13. package/dist/cjs/commands/moveToDelayed-8.lua +22 -23
  14. package/dist/cjs/commands/moveToFinished-12.lua +3 -1
  15. package/dist/cjs/commands/pause-4.lua +8 -8
  16. package/dist/cjs/commands/promote-6.lua +7 -3
  17. package/dist/cjs/commands/removeRepeatable-2.lua +3 -0
  18. package/dist/cjs/commands/reprocessJob-6.lua +1 -1
  19. package/dist/cjs/commands/retryJob-8.lua +4 -5
  20. package/dist/cjs/commands/saveStacktrace-1.lua +2 -3
  21. package/dist/cjs/commands/updateData-1.lua +6 -2
  22. package/dist/cjs/commands/updateProgress-2.lua +6 -2
  23. package/dist/cjs/scripts/addJob-8.js +5 -5
  24. package/dist/cjs/scripts/changeDelay-3.js +2 -2
  25. package/dist/cjs/scripts/getRanges-1.js +1 -1
  26. package/dist/cjs/scripts/isFinished-3.js +3 -3
  27. package/dist/cjs/scripts/moveToActive-9.js +76 -76
  28. package/dist/cjs/scripts/moveToDelayed-8.js +29 -32
  29. package/dist/cjs/scripts/moveToDelayed-8.js.map +1 -1
  30. package/dist/cjs/scripts/moveToFinished-12.js +21 -23
  31. package/dist/cjs/scripts/moveToFinished-12.js.map +1 -1
  32. package/dist/cjs/scripts/pause-4.js +8 -8
  33. package/dist/cjs/scripts/promote-6.js +6 -3
  34. package/dist/cjs/scripts/promote-6.js.map +1 -1
  35. package/dist/cjs/scripts/removeRepeatable-2.js +2 -0
  36. package/dist/cjs/scripts/removeRepeatable-2.js.map +1 -1
  37. package/dist/cjs/scripts/reprocessJob-6.js +1 -1
  38. package/dist/cjs/scripts/retryJob-8.js +7 -10
  39. package/dist/cjs/scripts/retryJob-8.js.map +1 -1
  40. package/dist/cjs/scripts/saveStacktrace-1.js +1 -1
  41. package/dist/cjs/scripts/updateData-1.js +4 -1
  42. package/dist/cjs/scripts/updateData-1.js.map +1 -1
  43. package/dist/cjs/scripts/updateProgress-2.js +3 -0
  44. package/dist/cjs/scripts/updateProgress-2.js.map +1 -1
  45. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  46. package/dist/esm/classes/job.js +1 -1
  47. package/dist/esm/classes/worker.d.ts +2 -2
  48. package/dist/esm/classes/worker.js.map +1 -1
  49. package/dist/esm/commands/addJob-8.lua +2 -2
  50. package/dist/esm/commands/changeDelay-3.lua +2 -3
  51. package/dist/esm/commands/getRanges-1.lua +1 -1
  52. package/dist/esm/commands/includes/addDelayMarkerIfNeeded.lua +3 -3
  53. package/dist/esm/commands/includes/cleanSet.lua +2 -2
  54. package/dist/esm/commands/includes/getRateLimitTTL.lua +1 -1
  55. package/dist/esm/commands/includes/promoteDelayedJobs.lua +4 -9
  56. package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +0 -1
  57. package/dist/esm/commands/isFinished-3.lua +3 -3
  58. package/dist/esm/commands/moveToActive-9.lua +51 -46
  59. package/dist/esm/commands/moveToDelayed-8.lua +22 -23
  60. package/dist/esm/commands/moveToFinished-12.lua +3 -1
  61. package/dist/esm/commands/pause-4.lua +8 -8
  62. package/dist/esm/commands/promote-6.lua +7 -3
  63. package/dist/esm/commands/removeRepeatable-2.lua +3 -0
  64. package/dist/esm/commands/reprocessJob-6.lua +1 -1
  65. package/dist/esm/commands/retryJob-8.lua +4 -5
  66. package/dist/esm/commands/saveStacktrace-1.lua +2 -3
  67. package/dist/esm/commands/updateData-1.lua +6 -2
  68. package/dist/esm/commands/updateProgress-2.lua +6 -2
  69. package/dist/esm/scripts/addJob-8.js +5 -5
  70. package/dist/esm/scripts/changeDelay-3.js +2 -2
  71. package/dist/esm/scripts/getRanges-1.js +1 -1
  72. package/dist/esm/scripts/isFinished-3.js +3 -3
  73. package/dist/esm/scripts/moveToActive-9.js +76 -76
  74. package/dist/esm/scripts/moveToDelayed-8.js +29 -32
  75. package/dist/esm/scripts/moveToDelayed-8.js.map +1 -1
  76. package/dist/esm/scripts/moveToFinished-12.js +21 -23
  77. package/dist/esm/scripts/moveToFinished-12.js.map +1 -1
  78. package/dist/esm/scripts/pause-4.js +8 -8
  79. package/dist/esm/scripts/promote-6.js +6 -3
  80. package/dist/esm/scripts/promote-6.js.map +1 -1
  81. package/dist/esm/scripts/removeRepeatable-2.js +2 -0
  82. package/dist/esm/scripts/removeRepeatable-2.js.map +1 -1
  83. package/dist/esm/scripts/reprocessJob-6.js +1 -1
  84. package/dist/esm/scripts/retryJob-8.js +7 -10
  85. package/dist/esm/scripts/retryJob-8.js.map +1 -1
  86. package/dist/esm/scripts/saveStacktrace-1.js +1 -1
  87. package/dist/esm/scripts/updateData-1.js +4 -1
  88. package/dist/esm/scripts/updateData-1.js.map +1 -1
  89. package/dist/esm/scripts/updateProgress-2.js +3 -0
  90. package/dist/esm/scripts/updateProgress-2.js.map +1 -1
  91. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +1 -1
@@ -625,7 +625,7 @@ class Job {
625
625
  const [status, result] = (await this.scripts.isFinished(jobId, true));
626
626
  const finished = status != 0;
627
627
  if (finished) {
628
- if (status == -5 || status == 2) {
628
+ if (status == -1 || status == 2) {
629
629
  onFailed({ failedReason: result });
630
630
  }
631
631
  else {
@@ -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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"}
@@ -101,7 +101,7 @@ else
101
101
  rcall("XADD", KEYS[8], "*", "event", "duplicated", "jobId", jobId)
102
102
 
103
103
  return jobId .. "" -- convert to string
104
- end
104
+ end
105
105
  end
106
106
 
107
107
  -- Store the job.
@@ -150,7 +150,7 @@ else
150
150
  -- Standard or priority add
151
151
  if priority == 0 then
152
152
  -- LIFO or FIFO
153
- local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH';
153
+ local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
154
154
  rcall(pushCmd, target, jobId)
155
155
  else
156
156
  -- Priority add
@@ -19,21 +19,20 @@
19
19
  local rcall = redis.call
20
20
 
21
21
  if rcall("EXISTS", KEYS[2]) == 1 then
22
-
23
22
  local jobId = ARGV[3]
24
23
  local score = tonumber(ARGV[2])
25
24
  local delayedTimestamp = (score / 0x1000)
26
25
 
27
26
  local numRemovedElements = rcall("ZREM", KEYS[1], jobId)
28
27
 
29
- if (numRemovedElements < 1) then
28
+ if numRemovedElements < 1 then
30
29
  return -3
31
30
  end
32
31
 
33
32
  rcall("HSET", KEYS[2], "delay", tonumber(ARGV[1]))
34
33
  rcall("ZADD", KEYS[1], score, jobId)
35
34
 
36
- rcall("XADD", KEYS[3], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp);
35
+ rcall("XADD", KEYS[3], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp)
37
36
 
38
37
  return 0
39
38
  else
@@ -9,7 +9,7 @@
9
9
  ARGV[3] asc
10
10
  ARGV[4...] types
11
11
  ]]
12
- local rcall = redis.call;
12
+ local rcall = redis.call
13
13
  local prefix = KEYS[1]
14
14
  local rangeStart = tonumber(ARGV[1])
15
15
  local rangeEnd = tonumber(ARGV[2])
@@ -5,11 +5,11 @@
5
5
  -- Includes
6
6
  --- @include "getNextDelayedTimestamp"
7
7
 
8
- local function addDelayMarkerIfNeeded(target, delayedKey)
9
- if rcall("LLEN", target) == 0 then
8
+ local function addDelayMarkerIfNeeded(targetKey, delayedKey)
9
+ if rcall("LLEN", targetKey) == 0 then
10
10
  local nextTimestamp = getNextDelayedTimestamp(delayedKey)
11
11
  if nextTimestamp ~= nil then
12
- rcall("LPUSH", target, "0:" .. nextTimestamp)
12
+ rcall("LPUSH", targetKey, "0:" .. nextTimestamp)
13
13
  end
14
14
  end
15
15
  end
@@ -29,7 +29,7 @@ local function cleanSet(setKey, jobKeyPrefix, rangeStart, rangeEnd, timestamp, l
29
29
  if limit > 0 and deletedCount >= limit then
30
30
  break
31
31
  end
32
-
32
+
33
33
  local jobKey = jobKeyPrefix .. job
34
34
  -- * finishedOn says when the job was completed, but it isn't set unless the job has actually completed
35
35
  jobTS = getTimestamp(jobKey, attributes)
@@ -45,6 +45,6 @@ local function cleanSet(setKey, jobKeyPrefix, rangeStart, rangeEnd, timestamp, l
45
45
  rcall("ZREM", setKey, unpack(deleted, from, to))
46
46
  end
47
47
  end
48
-
48
+
49
49
  return {deleted, deletedCount}
50
50
  end
@@ -5,7 +5,7 @@ local function getRateLimitTTL(opts, limiterKey)
5
5
  if jobCounter ~= nil and jobCounter >= maxJobs then
6
6
  local pttl = rcall("PTTL", limiterKey)
7
7
  if pttl > 0 then
8
- return pttl
8
+ return pttl
9
9
  end
10
10
  end
11
11
  end
@@ -5,32 +5,27 @@
5
5
  Events:
6
6
  'waiting'
7
7
  ]]
8
- local rcall = redis.call
9
8
 
10
9
  -- Includes
11
10
  --- @include "addJobWithPriority"
12
- --- @include "getTargetQueueList"
13
11
 
14
12
  -- Try to get as much as 1000 jobs at once
15
- local function promoteDelayedJobs(delayedKey, waitKey, priorityKey, pausedKey,
16
- metaKey, eventStreamKey, prefix, timestamp)
13
+ local function promoteDelayedJobs(delayedKey, targetKey, priorityKey,
14
+ eventStreamKey, prefix, timestamp)
17
15
  local jobs = rcall("ZRANGEBYSCORE", delayedKey, 0, (timestamp + 1) * 0x1000, "LIMIT", 0, 1000)
18
16
 
19
17
  if (#jobs > 0) then
20
18
  rcall("ZREM", delayedKey, unpack(jobs))
21
19
 
22
- -- check if we need to use push in paused instead of waiting
23
- local target = getTargetQueueList(metaKey, waitKey, pausedKey)
24
-
25
20
  for _, jobId in ipairs(jobs) do
26
21
  local priority =
27
22
  tonumber(rcall("HGET", prefix .. jobId, "priority")) or 0
28
23
 
29
24
  if priority == 0 then
30
25
  -- LIFO or FIFO
31
- rcall("LPUSH", target, jobId)
26
+ rcall("LPUSH", targetKey, jobId)
32
27
  else
33
- addJobWithPriority(priorityKey, priority, target, jobId)
28
+ addJobWithPriority(priorityKey, priority, targetKey, jobId)
34
29
  end
35
30
 
36
31
  -- Emit waiting event
@@ -5,7 +5,6 @@
5
5
  -- Includes
6
6
  --- @include "addDelayMarkerIfNeeded"
7
7
  --- @include "addJobWithPriority"
8
- --- @include "getNextDelayedTimestamp"
9
8
  --- @include "getTargetQueueList"
10
9
 
11
10
  local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDependenciesKey,
@@ -12,15 +12,15 @@
12
12
  0 - Not finished.
13
13
  1 - Completed.
14
14
  2 - Failed.
15
- -5 - Missing job.
15
+ -1 - Missing job.
16
16
  ]]
17
17
  local rcall = redis.call
18
18
  if rcall("EXISTS", KEYS[3]) ~= 1 then
19
19
  if ARGV[2] == "1" then
20
20
 
21
- return {-5,"Missing key for job " .. KEYS[3] .. ". isFinished"}
21
+ return {-1,"Missing key for job " .. KEYS[3] .. ". isFinished"}
22
22
  end
23
- return -5
23
+ return -1
24
24
  end
25
25
 
26
26
  if rcall("ZSCORE", KEYS[1], ARGV[1]) ~= false then
@@ -7,29 +7,29 @@
7
7
  so that no other worker picks this job again.
8
8
 
9
9
  Input:
10
- KEYS[1] wait key
11
- KEYS[2] active key
12
- KEYS[3] priority key
13
- KEYS[4] stream events key
14
- KEYS[5] stalled key
10
+ KEYS[1] wait key
11
+ KEYS[2] active key
12
+ KEYS[3] priority key
13
+ KEYS[4] stream events key
14
+ KEYS[5] stalled key
15
15
 
16
- -- Rate limiting
17
- KEYS[6] rate limiter key
18
- KEYS[7] delayed key
16
+ -- Rate limiting
17
+ KEYS[6] rate limiter key
18
+ KEYS[7] delayed key
19
19
 
20
- -- Promote delayed jobs
21
- KEYS[8] paused key
22
- KEYS[9] meta key
20
+ -- Promote delayed jobs
21
+ KEYS[8] paused key
22
+ KEYS[9] meta key
23
23
 
24
- -- Arguments
25
- ARGV[1] key prefix
26
- ARGV[2] timestamp
27
- ARGV[3] optional job ID
28
- ARGV[4] opts
24
+ -- Arguments
25
+ ARGV[1] key prefix
26
+ ARGV[2] timestamp
27
+ ARGV[3] optional job ID
28
+ ARGV[4] opts
29
29
 
30
- opts - token - lock token
31
- opts - lockDuration
32
- opts - limiter
30
+ opts - token - lock token
31
+ opts - lockDuration
32
+ opts - limiter
33
33
  ]]
34
34
  local jobId
35
35
  local rcall = redis.call
@@ -37,47 +37,52 @@ local rcall = redis.call
37
37
  -- Includes
38
38
  --- @include "includes/moveJobFromWaitToActive"
39
39
  --- @include "includes/getNextDelayedTimestamp"
40
- --- @include "includes/promoteDelayedJobs"
41
40
  --- @include "includes/getRateLimitTTL"
41
+ --- @include "includes/getTargetQueueList"
42
+ --- @include "includes/promoteDelayedJobs"
43
+
44
+ local target = getTargetQueueList(KEYS[9], KEYS[1], KEYS[8])
42
45
 
43
46
  -- Check if there are delayed jobs that we can move to wait.
44
- promoteDelayedJobs(KEYS[7], KEYS[1], KEYS[3], KEYS[8], KEYS[9], KEYS[4], ARGV[1], ARGV[2])
47
+ promoteDelayedJobs(KEYS[7], target, KEYS[3], KEYS[4], ARGV[1], ARGV[2])
45
48
 
46
49
  local opts
47
50
  if (ARGV[3] ~= "") then
48
- jobId = ARGV[3]
49
- -- clean stalled key
50
- rcall("SREM", KEYS[5], jobId)
51
+ jobId = ARGV[3]
52
+ -- clean stalled key
53
+ rcall("SREM", KEYS[5], jobId)
51
54
  else
52
- -- Check if we are rate limited first.
53
- opts = cmsgpack.unpack(ARGV[4])
54
- local pttl = getRateLimitTTL(opts, KEYS[6])
55
- if pttl > 0 then
56
- return { 0, 0, pttl }
57
- end
55
+ -- Check if we are rate limited first.
56
+ opts = cmsgpack.unpack(ARGV[4])
57
+ local pttl = getRateLimitTTL(opts, KEYS[6])
58
+ if pttl > 0 then
59
+ return { 0, 0, pttl }
60
+ end
58
61
 
59
- -- no job ID, try non-blocking move from wait to active
60
- jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
62
+ -- no job ID, try non-blocking move from wait to active
63
+ jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
61
64
  end
62
65
 
63
66
  -- If jobId is special ID 0:delay, then there is no job to process
64
- if jobId then
65
- if string.sub(jobId, 1, 2) == "0:" then
66
- rcall("LREM", KEYS[2], 1, jobId)
67
- -- Move again since we just got the marker job.
68
- jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
67
+ if jobId then
68
+ if string.sub(jobId, 1, 2) == "0:" then
69
+ rcall("LREM", KEYS[2], 1, jobId)
70
+ -- Move again since we just got the marker job.
71
+ jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
69
72
 
70
- if jobId and string.sub(jobId, 1, 2) == "0:" then
71
- rcall("LREM", KEYS[2], 1, jobId)
72
- jobId = nil
73
- end
73
+ -- Since it is possible that between a call to BRPOPLPUSH and moveToActive
74
+ -- another script puts a new maker in wait, we need to check again.
75
+ if jobId and string.sub(jobId, 1, 2) == "0:" then
76
+ rcall("LREM", KEYS[2], 1, jobId)
77
+ jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
74
78
  end
79
+ end
75
80
 
76
- if jobId then
77
- opts = opts or cmsgpack.unpack(ARGV[4])
78
- -- this script is not really moving, it is preparing the job for processing
79
- return moveJobFromWaitToActive(KEYS, ARGV[1], jobId, ARGV[2], opts)
80
- end
81
+ if jobId then
82
+ opts = opts or cmsgpack.unpack(ARGV[4])
83
+ -- this script is not really moving, it is preparing the job for processing
84
+ return moveJobFromWaitToActive(KEYS, ARGV[1], jobId, ARGV[2], opts)
85
+ end
81
86
  end
82
87
 
83
88
  -- Return the timestamp for the next delayed job if any.
@@ -35,34 +35,33 @@ local rcall = redis.call
35
35
 
36
36
  local jobKey = KEYS[5]
37
37
  if rcall("EXISTS", jobKey) == 1 then
38
-
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
38
+ local delayedKey = KEYS[4]
39
+ if ARGV[5] ~= "0" then
40
+ local lockKey = jobKey .. ':lock'
41
+ if rcall("GET", lockKey) == ARGV[5] then
42
+ rcall("DEL", lockKey)
43
+ else
44
+ return -2
47
45
  end
46
+ end
48
47
 
49
- local jobId = ARGV[4]
50
- local score = tonumber(ARGV[3])
51
- local delayedTimestamp = (score / 0x1000)
48
+ local jobId = ARGV[4]
49
+ local score = tonumber(ARGV[3])
50
+ local delayedTimestamp = (score / 0x1000)
52
51
 
53
- local numRemovedElements = rcall("LREM", KEYS[2], -1, jobId)
54
- if (numRemovedElements < 1) then
55
- return -3
56
- end
52
+ local numRemovedElements = rcall("LREM", KEYS[2], -1, jobId)
53
+ if numRemovedElements < 1 then
54
+ return -3
55
+ end
57
56
 
58
- rcall("ZADD", delayedKey, score, jobId)
59
- rcall("XADD", KEYS[6], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp)
57
+ rcall("ZADD", delayedKey, score, jobId)
58
+ rcall("XADD", KEYS[6], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp)
60
59
 
61
- -- Check if we need to push a marker job to wake up sleeping workers.
62
- local target = getTargetQueueList(KEYS[8], KEYS[1], KEYS[7])
63
- addDelayMarkerIfNeeded(target, delayedKey)
60
+ -- Check if we need to push a marker job to wake up sleeping workers.
61
+ local target = getTargetQueueList(KEYS[8], KEYS[1], KEYS[7])
62
+ addDelayMarkerIfNeeded(target, delayedKey)
64
63
 
65
- return 0
64
+ return 0
66
65
  else
67
- return -1
66
+ return -1
68
67
  end
@@ -186,8 +186,10 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
186
186
  -- and not rate limited.
187
187
  if (ARGV[7] == "1") then
188
188
 
189
+ local target = getTargetQueueList(KEYS[11], KEYS[1], KEYS[8])
190
+
189
191
  -- Check if there are delayed jobs that can be promoted
190
- promoteDelayedJobs(KEYS[7], KEYS[1], KEYS[3], KEYS[8], KEYS[11],
192
+ promoteDelayedJobs(KEYS[7], target, KEYS[3],
191
193
  KEYS[4], ARGV[8], timestamp)
192
194
 
193
195
  -- Check if we are rate limited first.
@@ -1,16 +1,16 @@
1
1
  --[[
2
2
  Pauses or resumes a queue globably.
3
3
 
4
- Input:
5
- KEYS[1] 'wait' or 'paused''
6
- KEYS[2] 'paused' or 'wait'
7
- KEYS[3] 'meta'
8
- KEYS[4] events stream key
4
+ Input:
5
+ KEYS[1] 'wait' or 'paused''
6
+ KEYS[2] 'paused' or 'wait'
7
+ KEYS[3] 'meta'
8
+ KEYS[4] events stream key
9
9
 
10
- ARGV[1] 'paused' or 'resumed'
10
+ ARGV[1] 'paused' or 'resumed'
11
11
 
12
- Event:
13
- publish paused or resumed event.
12
+ Event:
13
+ publish paused or resumed event.
14
14
  ]]
15
15
  local rcall = redis.call
16
16
 
@@ -1,7 +1,7 @@
1
1
  --[[
2
2
  Promotes a job that is currently "delayed" to the "waiting" state
3
3
 
4
- Input:
4
+ Input:
5
5
  KEYS[1] 'delayed'
6
6
  KEYS[2] 'wait'
7
7
  KEYS[3] 'paused'
@@ -12,10 +12,14 @@
12
12
  ARGV[1] queue.toKey('')
13
13
  ARGV[2] jobId
14
14
 
15
- Events:
15
+ Output:
16
+ 0 - OK
17
+ -3 - Job not in delayed zset.
18
+
19
+ Events:
16
20
  'waiting'
17
21
  ]]
18
- local rcall = redis.call;
22
+ local rcall = redis.call
19
23
  local jobId = ARGV[2]
20
24
 
21
25
  -- Includes
@@ -12,6 +12,9 @@
12
12
  Output:
13
13
  0 - OK
14
14
  1 - Missing repeat job
15
+
16
+ Events:
17
+ 'removed'
15
18
  ]]
16
19
  local rcall = redis.call
17
20
  local millis = rcall("ZSCORE", KEYS[1], ARGV[2])
@@ -15,7 +15,7 @@
15
15
  ARGV[4] prev state - failed/completed
16
16
 
17
17
  Output:
18
- 1 means the operation was a success
18
+ 1 means the operation was a success
19
19
  -1 means the job does not exist
20
20
  -3 means the job was not found in the expected set.
21
21
  ]]
@@ -31,7 +31,8 @@ local rcall = redis.call
31
31
  --- @include "includes/getTargetQueueList"
32
32
  --- @include "includes/promoteDelayedJobs"
33
33
 
34
- promoteDelayedJobs(KEYS[7], KEYS[2], KEYS[8], KEYS[3], KEYS[5], KEYS[6], ARGV[1], ARGV[2])
34
+ local target = getTargetQueueList(KEYS[5], KEYS[2], KEYS[3])
35
+ promoteDelayedJobs(KEYS[7], target, KEYS[8], KEYS[6], ARGV[1], ARGV[2])
35
36
 
36
37
  if rcall("EXISTS", KEYS[4]) == 1 then
37
38
 
@@ -44,14 +45,12 @@ if rcall("EXISTS", KEYS[4]) == 1 then
44
45
  end
45
46
  end
46
47
 
47
- local target = getTargetQueueList(KEYS[5], KEYS[2], KEYS[3])
48
-
49
48
  rcall("LREM", KEYS[1], 0, ARGV[4])
50
49
  rcall(ARGV[3], target, ARGV[4])
51
50
 
52
51
  -- Emit waiting event
53
- rcall("XADD", KEYS[6], "*", "event", "waiting", "jobId", ARGV[4], "prev", "failed");
54
-
52
+ rcall("XADD", KEYS[6], "*", "event", "waiting", "jobId", ARGV[4], "prev", "failed")
53
+
55
54
  return 0
56
55
  else
57
56
  return -1
@@ -8,15 +8,14 @@
8
8
  ARGV[2] failedReason
9
9
 
10
10
  Output:
11
- 0 - OK
11
+ 0 - OK
12
12
  -1 - Missing key
13
13
  ]]
14
14
  local rcall = redis.call
15
15
 
16
16
  if rcall("EXISTS", KEYS[1]) == 1 then
17
-
18
17
  rcall("HMSET", KEYS[1], "stacktrace", ARGV[1], "failedReason", ARGV[2])
19
-
18
+
20
19
  return 0
21
20
  else
22
21
  return -1
@@ -3,8 +3,12 @@
3
3
 
4
4
  Input:
5
5
  KEYS[1] Job id key
6
-
7
- ARGV[1] data
6
+
7
+ ARGV[1] data
8
+
9
+ Output:
10
+ 0 - OK
11
+ -1 - Missing job.
8
12
  ]]
9
13
  local rcall = redis.call
10
14
 
@@ -4,10 +4,14 @@
4
4
  Input:
5
5
  KEYS[1] Job id key
6
6
  KEYS[2] event stream key
7
-
7
+
8
8
  ARGV[1] id
9
9
  ARGV[2] progress
10
-
10
+
11
+ Output:
12
+ 0 - OK
13
+ -1 - Missing job.
14
+
11
15
  Event:
12
16
  progress(jobId, progress)
13
17
  ]]
@@ -68,11 +68,11 @@ local function getNextDelayedTimestamp(delayedKey)
68
68
  return nextTimestamp
69
69
  end
70
70
  end
71
- local function addDelayMarkerIfNeeded(target, delayedKey)
72
- if rcall("LLEN", target) == 0 then
71
+ local function addDelayMarkerIfNeeded(targetKey, delayedKey)
72
+ if rcall("LLEN", targetKey) == 0 then
73
73
  local nextTimestamp = getNextDelayedTimestamp(delayedKey)
74
74
  if nextTimestamp ~= nil then
75
- rcall("LPUSH", target, "0:" .. nextTimestamp)
75
+ rcall("LPUSH", targetKey, "0:" .. nextTimestamp)
76
76
  end
77
77
  end
78
78
  end
@@ -175,7 +175,7 @@ else
175
175
  end
176
176
  rcall("XADD", KEYS[8], "*", "event", "duplicated", "jobId", jobId)
177
177
  return jobId .. "" -- convert to string
178
- end
178
+ end
179
179
  end
180
180
  -- Store the job.
181
181
  local jsonOpts = cjson.encode(opts)
@@ -216,7 +216,7 @@ else
216
216
  -- Standard or priority add
217
217
  if priority == 0 then
218
218
  -- LIFO or FIFO
219
- local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH';
219
+ local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
220
220
  rcall(pushCmd, target, jobId)
221
221
  else
222
222
  -- Priority add