bullmq 3.13.3 → 3.14.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 (110) hide show
  1. package/dist/cjs/classes/job.js +1 -1
  2. package/dist/cjs/classes/scripts.js +5 -2
  3. package/dist/cjs/classes/scripts.js.map +1 -1
  4. package/dist/cjs/classes/worker.js +2 -9
  5. package/dist/cjs/classes/worker.js.map +1 -1
  6. package/dist/cjs/commands/addJob-8.lua +2 -2
  7. package/dist/cjs/commands/changeDelay-3.lua +2 -3
  8. package/dist/cjs/commands/getRanges-1.lua +1 -1
  9. package/dist/cjs/commands/includes/cleanSet.lua +2 -2
  10. package/dist/cjs/commands/includes/getRateLimitTTL.lua +1 -1
  11. package/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +0 -1
  12. package/dist/cjs/commands/isFinished-3.lua +3 -3
  13. package/dist/cjs/commands/{moveJobFromActiveToWait-7.lua → moveJobFromActiveToWait-8.lua} +9 -6
  14. package/dist/cjs/commands/moveToActive-9.lua +46 -44
  15. package/dist/cjs/commands/moveToDelayed-8.lua +22 -23
  16. package/dist/cjs/commands/pause-4.lua +8 -8
  17. package/dist/cjs/commands/promote-6.lua +7 -3
  18. package/dist/cjs/commands/removeRepeatable-2.lua +3 -0
  19. package/dist/cjs/commands/reprocessJob-6.lua +1 -1
  20. package/dist/cjs/commands/retryJob-8.lua +2 -2
  21. package/dist/cjs/commands/saveStacktrace-1.lua +2 -3
  22. package/dist/cjs/commands/updateData-1.lua +6 -2
  23. package/dist/cjs/commands/updateProgress-2.lua +6 -2
  24. package/dist/cjs/scripts/addJob-8.js +2 -2
  25. package/dist/cjs/scripts/changeDelay-3.js +2 -2
  26. package/dist/cjs/scripts/getRanges-1.js +1 -1
  27. package/dist/cjs/scripts/index.js +1 -2
  28. package/dist/cjs/scripts/index.js.map +1 -1
  29. package/dist/cjs/scripts/isFinished-3.js +3 -3
  30. package/dist/cjs/scripts/{moveJobFromActiveToWait-7.js → moveJobFromActiveToWait-8.js} +10 -7
  31. package/dist/cjs/scripts/moveJobFromActiveToWait-8.js.map +1 -0
  32. package/dist/cjs/scripts/moveToActive-9.js +47 -45
  33. package/dist/cjs/scripts/moveToActive-9.js.map +1 -1
  34. package/dist/cjs/scripts/moveToDelayed-8.js +22 -22
  35. package/dist/cjs/scripts/moveToFinished-12.js +1 -1
  36. package/dist/cjs/scripts/pause-4.js +8 -8
  37. package/dist/cjs/scripts/promote-6.js +6 -3
  38. package/dist/cjs/scripts/promote-6.js.map +1 -1
  39. package/dist/cjs/scripts/removeRepeatable-2.js +2 -0
  40. package/dist/cjs/scripts/removeRepeatable-2.js.map +1 -1
  41. package/dist/cjs/scripts/reprocessJob-6.js +1 -1
  42. package/dist/cjs/scripts/retryJob-8.js +1 -1
  43. package/dist/cjs/scripts/saveStacktrace-1.js +1 -1
  44. package/dist/cjs/scripts/updateData-1.js +4 -1
  45. package/dist/cjs/scripts/updateData-1.js.map +1 -1
  46. package/dist/cjs/scripts/updateProgress-2.js +3 -0
  47. package/dist/cjs/scripts/updateProgress-2.js.map +1 -1
  48. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  49. package/dist/esm/classes/job.js +1 -1
  50. package/dist/esm/classes/scripts.d.ts +1 -1
  51. package/dist/esm/classes/scripts.js +5 -2
  52. package/dist/esm/classes/scripts.js.map +1 -1
  53. package/dist/esm/classes/worker.d.ts +1 -1
  54. package/dist/esm/classes/worker.js +2 -9
  55. package/dist/esm/classes/worker.js.map +1 -1
  56. package/dist/esm/commands/addJob-8.lua +2 -2
  57. package/dist/esm/commands/changeDelay-3.lua +2 -3
  58. package/dist/esm/commands/getRanges-1.lua +1 -1
  59. package/dist/esm/commands/includes/cleanSet.lua +2 -2
  60. package/dist/esm/commands/includes/getRateLimitTTL.lua +1 -1
  61. package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +0 -1
  62. package/dist/esm/commands/isFinished-3.lua +3 -3
  63. package/dist/esm/commands/{moveJobFromActiveToWait-7.lua → moveJobFromActiveToWait-8.lua} +9 -6
  64. package/dist/esm/commands/moveToActive-9.lua +46 -44
  65. package/dist/esm/commands/moveToDelayed-8.lua +22 -23
  66. package/dist/esm/commands/pause-4.lua +8 -8
  67. package/dist/esm/commands/promote-6.lua +7 -3
  68. package/dist/esm/commands/removeRepeatable-2.lua +3 -0
  69. package/dist/esm/commands/reprocessJob-6.lua +1 -1
  70. package/dist/esm/commands/retryJob-8.lua +2 -2
  71. package/dist/esm/commands/saveStacktrace-1.lua +2 -3
  72. package/dist/esm/commands/updateData-1.lua +6 -2
  73. package/dist/esm/commands/updateProgress-2.lua +6 -2
  74. package/dist/esm/scripts/addJob-8.js +2 -2
  75. package/dist/esm/scripts/changeDelay-3.js +2 -2
  76. package/dist/esm/scripts/getRanges-1.js +1 -1
  77. package/dist/esm/scripts/index.d.ts +1 -2
  78. package/dist/esm/scripts/index.js +1 -2
  79. package/dist/esm/scripts/index.js.map +1 -1
  80. package/dist/esm/scripts/isFinished-3.js +3 -3
  81. package/dist/esm/scripts/{moveJobFromActiveToWait-7.js → moveJobFromActiveToWait-8.js} +10 -7
  82. package/dist/esm/scripts/moveJobFromActiveToWait-8.js.map +1 -0
  83. package/dist/esm/scripts/moveToActive-9.js +47 -45
  84. package/dist/esm/scripts/moveToActive-9.js.map +1 -1
  85. package/dist/esm/scripts/moveToDelayed-8.js +22 -22
  86. package/dist/esm/scripts/moveToFinished-12.js +1 -1
  87. package/dist/esm/scripts/pause-4.js +8 -8
  88. package/dist/esm/scripts/promote-6.js +6 -3
  89. package/dist/esm/scripts/promote-6.js.map +1 -1
  90. package/dist/esm/scripts/removeRepeatable-2.js +2 -0
  91. package/dist/esm/scripts/removeRepeatable-2.js.map +1 -1
  92. package/dist/esm/scripts/reprocessJob-6.js +1 -1
  93. package/dist/esm/scripts/retryJob-8.js +1 -1
  94. package/dist/esm/scripts/saveStacktrace-1.js +1 -1
  95. package/dist/esm/scripts/updateData-1.js +4 -1
  96. package/dist/esm/scripts/updateData-1.js.map +1 -1
  97. package/dist/esm/scripts/updateProgress-2.js +3 -0
  98. package/dist/esm/scripts/updateProgress-2.js.map +1 -1
  99. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  100. package/package.json +1 -1
  101. package/dist/cjs/commands/takeLock-1.lua +0 -17
  102. package/dist/cjs/scripts/moveJobFromActiveToWait-7.js.map +0 -1
  103. package/dist/cjs/scripts/takeLock-1.js +0 -24
  104. package/dist/cjs/scripts/takeLock-1.js.map +0 -1
  105. package/dist/esm/commands/takeLock-1.lua +0 -17
  106. package/dist/esm/scripts/moveJobFromActiveToWait-7.js.map +0 -1
  107. package/dist/esm/scripts/takeLock-1.d.ts +0 -5
  108. package/dist/esm/scripts/takeLock-1.js +0 -21
  109. package/dist/esm/scripts/takeLock-1.js.map +0 -1
  110. /package/dist/esm/scripts/{moveJobFromActiveToWait-7.d.ts → moveJobFromActiveToWait-8.d.ts} +0 -0
@@ -50,8 +50,8 @@ if rcall("EXISTS", KEYS[4]) == 1 then
50
50
  rcall(ARGV[3], target, ARGV[4])
51
51
 
52
52
  -- Emit waiting event
53
- rcall("XADD", KEYS[6], "*", "event", "waiting", "jobId", ARGV[4], "prev", "failed");
54
-
53
+ rcall("XADD", KEYS[6], "*", "event", "waiting", "jobId", ARGV[4], "prev", "failed")
54
+
55
55
  return 0
56
56
  else
57
57
  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
  ]]
@@ -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
@@ -23,12 +23,12 @@ if rcall("EXISTS", KEYS[2]) == 1 then
23
23
  local score = tonumber(ARGV[2])
24
24
  local delayedTimestamp = (score / 0x1000)
25
25
  local numRemovedElements = rcall("ZREM", KEYS[1], jobId)
26
- if (numRemovedElements < 1) then
26
+ if numRemovedElements < 1 then
27
27
  return -3
28
28
  end
29
29
  rcall("HSET", KEYS[2], "delay", tonumber(ARGV[1]))
30
30
  rcall("ZADD", KEYS[1], score, jobId)
31
- rcall("XADD", KEYS[3], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp);
31
+ rcall("XADD", KEYS[3], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp)
32
32
  return 0
33
33
  else
34
34
  return -1
@@ -10,7 +10,7 @@ const content = `--[[
10
10
  ARGV[3] asc
11
11
  ARGV[4...] types
12
12
  ]]
13
- local rcall = redis.call;
13
+ local rcall = redis.call
14
14
  local prefix = KEYS[1]
15
15
  local rangeStart = tonumber(ARGV[1])
16
16
  local rangeEnd = tonumber(ARGV[2])
@@ -12,7 +12,7 @@ tslib_1.__exportStar(require("./getState-7"), exports);
12
12
  tslib_1.__exportStar(require("./getStateV2-7"), exports);
13
13
  tslib_1.__exportStar(require("./isFinished-3"), exports);
14
14
  tslib_1.__exportStar(require("./isJobInList-1"), exports);
15
- tslib_1.__exportStar(require("./moveJobFromActiveToWait-7"), exports);
15
+ tslib_1.__exportStar(require("./moveJobFromActiveToWait-8"), exports);
16
16
  tslib_1.__exportStar(require("./moveStalledJobsToWait-8"), exports);
17
17
  tslib_1.__exportStar(require("./moveToActive-9"), exports);
18
18
  tslib_1.__exportStar(require("./moveToDelayed-8"), exports);
@@ -28,7 +28,6 @@ tslib_1.__exportStar(require("./reprocessJob-6"), exports);
28
28
  tslib_1.__exportStar(require("./retryJob-8"), exports);
29
29
  tslib_1.__exportStar(require("./retryJobs-6"), exports);
30
30
  tslib_1.__exportStar(require("./saveStacktrace-1"), exports);
31
- tslib_1.__exportStar(require("./takeLock-1"), exports);
32
31
  tslib_1.__exportStar(require("./updateData-1"), exports);
33
32
  tslib_1.__exportStar(require("./updateProgress-2"), exports);
34
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,0DAAgC;AAChC,6DAAmC;AACnC,oDAA0B;AAC1B,yDAA+B;AAC/B,wDAA8B;AAC9B,wDAA8B;AAC9B,uDAA6B;AAC7B,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC;AAChC,sEAA4C;AAC5C,oEAA0C;AAC1C,2DAAiC;AACjC,4DAAkC;AAClC,8DAAoC;AACpC,oEAA0C;AAC1C,yDAA+B;AAC/B,oDAA0B;AAC1B,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,+DAAqC;AACrC,2DAAiC;AACjC,uDAA6B;AAC7B,wDAA8B;AAC9B,6DAAmC;AACnC,uDAA6B;AAC7B,yDAA+B;AAC/B,6DAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,0DAAgC;AAChC,6DAAmC;AACnC,oDAA0B;AAC1B,yDAA+B;AAC/B,wDAA8B;AAC9B,wDAA8B;AAC9B,uDAA6B;AAC7B,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC;AAChC,sEAA4C;AAC5C,oEAA0C;AAC1C,2DAAiC;AACjC,4DAAkC;AAClC,8DAAoC;AACpC,oEAA0C;AAC1C,yDAA+B;AAC/B,oDAA0B;AAC1B,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,+DAAqC;AACrC,2DAAiC;AACjC,uDAA6B;AAC7B,wDAA8B;AAC9B,6DAAmC;AACnC,yDAA+B;AAC/B,6DAAmC"}
@@ -13,14 +13,14 @@ const content = `--[[
13
13
  0 - Not finished.
14
14
  1 - Completed.
15
15
  2 - Failed.
16
- -5 - Missing job.
16
+ -1 - Missing job.
17
17
  ]]
18
18
  local rcall = redis.call
19
19
  if rcall("EXISTS", KEYS[3]) ~= 1 then
20
20
  if ARGV[2] == "1" then
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
  if rcall("ZSCORE", KEYS[1], ARGV[1]) ~= false then
26
26
  if ARGV[2] == "1" then
@@ -10,9 +10,10 @@ const content = `--[[
10
10
  KEYS[4] job lock key
11
11
  KEYS[5] paused key
12
12
  KEYS[6] meta key
13
- KEYS[7] event key
14
- args[1] job id
15
- args[2] lock token
13
+ KEYS[7] limiter key
14
+ KEYS[8] event key
15
+ ARGV[1] job id
16
+ ARGV[2] lock token
16
17
  ]]
17
18
  local rcall = redis.call
18
19
  -- Includes
@@ -31,7 +32,8 @@ local jobId = ARGV[1]
31
32
  local token = ARGV[2]
32
33
  local lockKey = KEYS[4]
33
34
  local lockToken = rcall("GET", lockKey)
34
- if lockToken == token then
35
+ local pttl = rcall("PTTL", KEYS[7])
36
+ if lockToken == token and pttl > 0 then
35
37
  local removed = rcall("LREM", KEYS[1], 1, jobId)
36
38
  if (removed > 0) then
37
39
  local target = getTargetQueueList(KEYS[6], KEYS[2], KEYS[5])
@@ -39,13 +41,14 @@ if lockToken == token then
39
41
  rcall("RPUSH", target, jobId)
40
42
  rcall("DEL", lockKey)
41
43
  -- Emit waiting event
42
- rcall("XADD", KEYS[7], "*", "event", "waiting", "jobId", jobId)
44
+ rcall("XADD", KEYS[8], "*", "event", "waiting", "jobId", jobId)
43
45
  end
44
46
  end
47
+ return pttl
45
48
  `;
46
49
  exports.moveJobFromActiveToWait = {
47
50
  name: 'moveJobFromActiveToWait',
48
51
  content,
49
- keys: 7,
52
+ keys: 8,
50
53
  };
51
- //# sourceMappingURL=moveJobFromActiveToWait-7.js.map
54
+ //# sourceMappingURL=moveJobFromActiveToWait-8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moveJobFromActiveToWait-8.js","sourceRoot":"","sources":["../../../src/scripts/moveJobFromActiveToWait-8.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Cf,CAAC;AACW,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,yBAAyB;IAC/B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -8,25 +8,25 @@ const content = `--[[
8
8
  expiration time. The worker is responsible of keeping the lock fresh
9
9
  so that no other worker picks this job again.
10
10
  Input:
11
- KEYS[1] wait key
12
- KEYS[2] active key
13
- KEYS[3] priority key
14
- KEYS[4] stream events key
15
- KEYS[5] stalled key
16
- -- Rate limiting
17
- KEYS[6] rate limiter key
18
- KEYS[7] delayed key
19
- -- Promote delayed jobs
20
- KEYS[8] paused key
21
- KEYS[9] meta key
22
- -- Arguments
23
- ARGV[1] key prefix
24
- ARGV[2] timestamp
25
- ARGV[3] optional job ID
26
- ARGV[4] opts
27
- opts - token - lock token
28
- opts - lockDuration
29
- opts - limiter
11
+ KEYS[1] wait key
12
+ KEYS[2] active key
13
+ KEYS[3] priority key
14
+ KEYS[4] stream events key
15
+ KEYS[5] stalled key
16
+ -- Rate limiting
17
+ KEYS[6] rate limiter key
18
+ KEYS[7] delayed key
19
+ -- Promote delayed jobs
20
+ KEYS[8] paused key
21
+ KEYS[9] meta key
22
+ -- Arguments
23
+ ARGV[1] key prefix
24
+ ARGV[2] timestamp
25
+ ARGV[3] optional job ID
26
+ ARGV[4] opts
27
+ opts - token - lock token
28
+ opts - lockDuration
29
+ opts - limiter
30
30
  ]]
31
31
  local jobId
32
32
  local rcall = redis.call
@@ -160,7 +160,7 @@ local function getRateLimitTTL(opts, limiterKey)
160
160
  if jobCounter ~= nil and jobCounter >= maxJobs then
161
161
  local pttl = rcall("PTTL", limiterKey)
162
162
  if pttl > 0 then
163
- return pttl
163
+ return pttl
164
164
  end
165
165
  end
166
166
  end
@@ -170,35 +170,37 @@ end
170
170
  promoteDelayedJobs(KEYS[7], KEYS[1], KEYS[3], KEYS[8], KEYS[9], KEYS[4], ARGV[1], ARGV[2])
171
171
  local opts
172
172
  if (ARGV[3] ~= "") then
173
- jobId = ARGV[3]
174
- -- clean stalled key
175
- rcall("SREM", KEYS[5], jobId)
173
+ jobId = ARGV[3]
174
+ -- clean stalled key
175
+ rcall("SREM", KEYS[5], jobId)
176
176
  else
177
- -- Check if we are rate limited first.
178
- opts = cmsgpack.unpack(ARGV[4])
179
- local pttl = getRateLimitTTL(opts, KEYS[6])
180
- if pttl > 0 then
181
- return { 0, 0, pttl }
182
- end
183
- -- no job ID, try non-blocking move from wait to active
184
- jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
177
+ -- Check if we are rate limited first.
178
+ opts = cmsgpack.unpack(ARGV[4])
179
+ local pttl = getRateLimitTTL(opts, KEYS[6])
180
+ if pttl > 0 then
181
+ return { 0, 0, pttl }
182
+ end
183
+ -- no job ID, try non-blocking move from wait to active
184
+ jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
185
185
  end
186
186
  -- If jobId is special ID 0:delay, then there is no job to process
187
- if jobId then
188
- if string.sub(jobId, 1, 2) == "0:" then
189
- rcall("LREM", KEYS[2], 1, jobId)
190
- -- Move again since we just got the marker job.
191
- jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
192
- if jobId and string.sub(jobId, 1, 2) == "0:" then
193
- rcall("LREM", KEYS[2], 1, jobId)
194
- jobId = nil
195
- end
196
- end
197
- if jobId then
198
- opts = opts or cmsgpack.unpack(ARGV[4])
199
- -- this script is not really moving, it is preparing the job for processing
200
- return moveJobFromWaitToActive(KEYS, ARGV[1], jobId, ARGV[2], opts)
187
+ if jobId then
188
+ if string.sub(jobId, 1, 2) == "0:" then
189
+ rcall("LREM", KEYS[2], 1, jobId)
190
+ -- Move again since we just got the marker job.
191
+ jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
192
+ -- Since it is possible that between a call to BRPOPLPUSH and moveToActive
193
+ -- another script puts a new maker in wait, we need to check again.
194
+ if jobId and string.sub(jobId, 1, 2) == "0:" then
195
+ rcall("LREM", KEYS[2], 1, jobId)
196
+ jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
201
197
  end
198
+ end
199
+ if jobId then
200
+ opts = opts or cmsgpack.unpack(ARGV[4])
201
+ -- this script is not really moving, it is preparing the job for processing
202
+ return moveJobFromWaitToActive(KEYS, ARGV[1], jobId, ARGV[2], opts)
203
+ end
202
204
  end
203
205
  -- Return the timestamp for the next delayed job if any.
204
206
  local nextTimestamp = getNextDelayedTimestamp(KEYS[7])
@@ -1 +1 @@
1
- {"version":3,"file":"moveToActive-9.js","sourceRoot":"","sources":["../../../src/scripts/moveToActive-9.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Mf,CAAC;AACW,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,cAAc;IACpB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"moveToActive-9.js","sourceRoot":"","sources":["../../../src/scripts/moveToActive-9.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8Mf,CAAC;AACW,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,cAAc;IACpB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -110,30 +110,30 @@ local function promoteDelayedJobs(delayedKey, waitKey, priorityKey, pausedKey,
110
110
  end
111
111
  local jobKey = KEYS[5]
112
112
  if rcall("EXISTS", jobKey) == 1 then
113
- local delayedKey = KEYS[4]
114
- if ARGV[5] ~= "0" then
115
- local lockKey = jobKey .. ':lock'
116
- if rcall("GET", lockKey) == ARGV[5] then
117
- rcall("DEL", lockKey)
118
- else
119
- return -2
120
- end
121
- end
122
- local jobId = ARGV[4]
123
- local score = tonumber(ARGV[3])
124
- local delayedTimestamp = (score / 0x1000)
125
- local numRemovedElements = rcall("LREM", KEYS[2], -1, jobId)
126
- if (numRemovedElements < 1) then
127
- return -3
113
+ local delayedKey = KEYS[4]
114
+ if ARGV[5] ~= "0" then
115
+ local lockKey = jobKey .. ':lock'
116
+ if rcall("GET", lockKey) == ARGV[5] then
117
+ rcall("DEL", lockKey)
118
+ else
119
+ return -2
128
120
  end
129
- rcall("ZADD", delayedKey, score, jobId)
130
- rcall("XADD", KEYS[6], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp)
131
- -- Check if we need to push a marker job to wake up sleeping workers.
132
- local target = getTargetQueueList(KEYS[8], KEYS[1], KEYS[7])
133
- addDelayMarkerIfNeeded(target, delayedKey)
134
- return 0
121
+ end
122
+ local jobId = ARGV[4]
123
+ local score = tonumber(ARGV[3])
124
+ local delayedTimestamp = (score / 0x1000)
125
+ local numRemovedElements = rcall("LREM", KEYS[2], -1, jobId)
126
+ if numRemovedElements < 1 then
127
+ return -3
128
+ end
129
+ rcall("ZADD", delayedKey, score, jobId)
130
+ rcall("XADD", KEYS[6], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp)
131
+ -- Check if we need to push a marker job to wake up sleeping workers.
132
+ local target = getTargetQueueList(KEYS[8], KEYS[1], KEYS[7])
133
+ addDelayMarkerIfNeeded(target, delayedKey)
134
+ return 0
135
135
  else
136
- return -1
136
+ return -1
137
137
  end
138
138
  `;
139
139
  exports.moveToDelayed = {
@@ -421,7 +421,7 @@ local function getRateLimitTTL(opts, limiterKey)
421
421
  if jobCounter ~= nil and jobCounter >= maxJobs then
422
422
  local pttl = rcall("PTTL", limiterKey)
423
423
  if pttl > 0 then
424
- return pttl
424
+ return pttl
425
425
  end
426
426
  end
427
427
  end
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pause = void 0;
4
4
  const content = `--[[
5
5
  Pauses or resumes a queue globably.
6
- Input:
7
- KEYS[1] 'wait' or 'paused''
8
- KEYS[2] 'paused' or 'wait'
9
- KEYS[3] 'meta'
10
- KEYS[4] events stream key
11
- ARGV[1] 'paused' or 'resumed'
12
- Event:
13
- publish paused or resumed event.
6
+ Input:
7
+ KEYS[1] 'wait' or 'paused''
8
+ KEYS[2] 'paused' or 'wait'
9
+ KEYS[3] 'meta'
10
+ KEYS[4] events stream key
11
+ ARGV[1] 'paused' or 'resumed'
12
+ Event:
13
+ publish paused or resumed event.
14
14
  ]]
15
15
  local rcall = redis.call
16
16
  if rcall("EXISTS", KEYS[1]) == 1 then
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.promote = void 0;
4
4
  const content = `--[[
5
5
  Promotes a job that is currently "delayed" to the "waiting" state
6
- Input:
6
+ Input:
7
7
  KEYS[1] 'delayed'
8
8
  KEYS[2] 'wait'
9
9
  KEYS[3] 'paused'
@@ -12,10 +12,13 @@ const content = `--[[
12
12
  KEYS[6] 'event stream'
13
13
  ARGV[1] queue.toKey('')
14
14
  ARGV[2] jobId
15
- Events:
15
+ Output:
16
+ 0 - OK
17
+ -3 - Job not in delayed zset.
18
+ Events:
16
19
  'waiting'
17
20
  ]]
18
- local rcall = redis.call;
21
+ local rcall = redis.call
19
22
  local jobId = ARGV[2]
20
23
  -- Includes
21
24
  --[[
@@ -1 +1 @@
1
- {"version":3,"file":"promote-6.js","sourceRoot":"","sources":["../../../src/scripts/promote-6.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgEZ,CAAC;AACQ,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,SAAS;IACf,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"promote-6.js","sourceRoot":"","sources":["../../../src/scripts/promote-6.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmEZ,CAAC;AACQ,QAAA,OAAO,GAAG;IACrB,IAAI,EAAE,SAAS;IACf,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -12,6 +12,8 @@ const content = `--[[
12
12
  Output:
13
13
  0 - OK
14
14
  1 - Missing repeat job
15
+ Events:
16
+ 'removed'
15
17
  ]]
16
18
  local rcall = redis.call
17
19
  local millis = rcall("ZSCORE", KEYS[1], ARGV[2])
@@ -1 +1 @@
1
- {"version":3,"file":"removeRepeatable-2.js","sourceRoot":"","sources":["../../../src/scripts/removeRepeatable-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bf,CAAC;AACW,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"removeRepeatable-2.js","sourceRoot":"","sources":["../../../src/scripts/removeRepeatable-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Bf,CAAC;AACW,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -15,7 +15,7 @@ const content = `--[[
15
15
  ARGV[3] propVal - failedReason/returnvalue
16
16
  ARGV[4] prev state - failed/completed
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
  ]]
@@ -97,7 +97,7 @@ if rcall("EXISTS", KEYS[4]) == 1 then
97
97
  rcall("LREM", KEYS[1], 0, ARGV[4])
98
98
  rcall(ARGV[3], target, ARGV[4])
99
99
  -- Emit waiting event
100
- rcall("XADD", KEYS[6], "*", "event", "waiting", "jobId", ARGV[4], "prev", "failed");
100
+ rcall("XADD", KEYS[6], "*", "event", "waiting", "jobId", ARGV[4], "prev", "failed")
101
101
  return 0
102
102
  else
103
103
  return -1
@@ -8,7 +8,7 @@ const content = `--[[
8
8
  ARGV[1] stacktrace
9
9
  ARGV[2] failedReason
10
10
  Output:
11
- 0 - OK
11
+ 0 - OK
12
12
  -1 - Missing key
13
13
  ]]
14
14
  local rcall = redis.call
@@ -5,7 +5,10 @@ const content = `--[[
5
5
  Update job data
6
6
  Input:
7
7
  KEYS[1] Job id key
8
- ARGV[1] data
8
+ ARGV[1] data
9
+ Output:
10
+ 0 - OK
11
+ -1 - Missing job.
9
12
  ]]
10
13
  local rcall = redis.call
11
14
  if rcall("EXISTS",KEYS[1]) == 1 then -- // Make sure job exists
@@ -1 +1 @@
1
- {"version":3,"file":"updateData-1.js","sourceRoot":"","sources":["../../../src/scripts/updateData-1.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;CAaf,CAAC;AACW,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,YAAY;IAClB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"updateData-1.js","sourceRoot":"","sources":["../../../src/scripts/updateData-1.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;CAgBf,CAAC;AACW,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,YAAY;IAClB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
@@ -8,6 +8,9 @@ const content = `--[[
8
8
  KEYS[2] event stream key
9
9
  ARGV[1] id
10
10
  ARGV[2] progress
11
+ Output:
12
+ 0 - OK
13
+ -1 - Missing job.
11
14
  Event:
12
15
  progress(jobId, progress)
13
16
  ]]
@@ -1 +1 @@
1
- {"version":3,"file":"updateProgress-2.js","sourceRoot":"","sources":["../../../src/scripts/updateProgress-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;CAkBf,CAAC;AACW,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
1
+ {"version":3,"file":"updateProgress-2.js","sourceRoot":"","sources":["../../../src/scripts/updateProgress-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBf,CAAC;AACW,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}