bullmq 1.67.3 → 1.68.3
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.
- package/dist/bullmq.d.ts +17 -1
- package/dist/cjs/classes/job.d.ts +2 -1
- package/dist/cjs/classes/job.js +3 -3
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/queue.d.ts +9 -0
- package/dist/cjs/classes/queue.js +13 -1
- package/dist/cjs/classes/queue.js.map +1 -1
- package/dist/cjs/classes/scripts.d.ts +3 -0
- package/dist/cjs/classes/scripts.js +25 -4
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/commands/cleanJobsInSet-2.lua +1 -2
- package/dist/cjs/commands/drain-4.lua +2 -0
- package/dist/cjs/commands/includes/batches.lua +18 -0
- package/dist/cjs/commands/includes/removeJobs.lua +9 -5
- package/dist/cjs/commands/includes/removeParentDependencyKey.lua +8 -8
- package/dist/cjs/commands/moveStalledJobsToWait-8.lua +2 -12
- package/dist/cjs/commands/moveToFinished-8.lua +1 -3
- package/dist/cjs/commands/obliterate-2.lua +4 -8
- package/dist/cjs/commands/promote-5.lua +1 -1
- package/dist/cjs/commands/removeJob-1.lua +1 -3
- package/dist/cjs/commands/retryJobs-4.lua +51 -0
- package/dist/cjs/commands/updateData-1.lua +16 -0
- package/dist/cjs/commands/updateProgress-2.lua +9 -10
- package/dist/cjs/interfaces/flow-job.d.ts +3 -0
- package/dist/esm/classes/job.d.ts +2 -1
- package/dist/esm/classes/job.js +3 -3
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/queue.d.ts +9 -0
- package/dist/esm/classes/queue.js +13 -1
- package/dist/esm/classes/queue.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +3 -0
- package/dist/esm/classes/scripts.js +25 -4
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/commands/cleanJobsInSet-2.lua +1 -2
- package/dist/esm/commands/drain-4.lua +2 -0
- package/dist/esm/commands/includes/batches.lua +18 -0
- package/dist/esm/commands/includes/removeJobs.lua +9 -5
- package/dist/esm/commands/includes/removeParentDependencyKey.lua +8 -8
- package/dist/esm/commands/moveStalledJobsToWait-8.lua +2 -12
- package/dist/esm/commands/moveToFinished-8.lua +1 -3
- package/dist/esm/commands/obliterate-2.lua +4 -8
- package/dist/esm/commands/promote-5.lua +1 -1
- package/dist/esm/commands/removeJob-1.lua +1 -3
- package/dist/esm/commands/retryJobs-4.lua +51 -0
- package/dist/esm/commands/updateData-1.lua +16 -0
- package/dist/esm/commands/updateProgress-2.lua +9 -10
- package/dist/esm/interfaces/flow-job.d.ts +3 -0
- package/package.json +1 -1
@@ -0,0 +1,51 @@
|
|
1
|
+
--[[
|
2
|
+
Attempts to retry all failed jobs
|
3
|
+
|
4
|
+
Input:
|
5
|
+
KEYS[1] base key
|
6
|
+
KEYS[2] events stream
|
7
|
+
KEYS[3] failed state key
|
8
|
+
KEYS[4] wait state key
|
9
|
+
|
10
|
+
ARGV[1] count
|
11
|
+
|
12
|
+
Output:
|
13
|
+
1 means the operation is not completed
|
14
|
+
0 means the operation is completed
|
15
|
+
]]
|
16
|
+
local baseKey = KEYS[1]
|
17
|
+
local maxCount = tonumber(ARGV[1])
|
18
|
+
|
19
|
+
local rcall = redis.call;
|
20
|
+
|
21
|
+
-- Includes
|
22
|
+
--- @include "includes/batches"
|
23
|
+
|
24
|
+
local function getZSetItems(keyName, max)
|
25
|
+
return rcall('ZRANGE', keyName, 0, max - 1)
|
26
|
+
end
|
27
|
+
|
28
|
+
local jobs = getZSetItems(KEYS[3], maxCount)
|
29
|
+
|
30
|
+
if (#jobs > 0) then
|
31
|
+
for i, key in ipairs(jobs) do
|
32
|
+
local jobKey = baseKey .. key
|
33
|
+
rcall("HDEL", jobKey, "finishedOn", "processedOn", "failedReason")
|
34
|
+
|
35
|
+
-- Emit waiting event
|
36
|
+
rcall("XADD", KEYS[2], "*", "event", "waiting", "jobId", key);
|
37
|
+
end
|
38
|
+
|
39
|
+
for from, to in batches(#jobs, 7000) do
|
40
|
+
rcall("ZREM", KEYS[3], unpack(jobs, from, to))
|
41
|
+
rcall("LPUSH", KEYS[4], unpack(jobs, from, to))
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
maxCount = maxCount - #jobs
|
46
|
+
|
47
|
+
if(maxCount <= 0) then
|
48
|
+
return 1
|
49
|
+
end
|
50
|
+
|
51
|
+
return 0
|
@@ -0,0 +1,16 @@
|
|
1
|
+
--[[
|
2
|
+
Update job data
|
3
|
+
|
4
|
+
Input:
|
5
|
+
KEYS[1] Job id key
|
6
|
+
|
7
|
+
ARGV[1] data
|
8
|
+
]]
|
9
|
+
local rcall = redis.call
|
10
|
+
|
11
|
+
if rcall("EXISTS",KEYS[1]) == 1 then -- // Make sure job exists
|
12
|
+
rcall("HSET", KEYS[1], "data", ARGV[1])
|
13
|
+
return 0
|
14
|
+
else
|
15
|
+
return -1
|
16
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
--[[
|
2
2
|
Update job progress
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
4
|
+
Input:
|
5
|
+
KEYS[1] Job id key
|
6
|
+
KEYS[2] event stream key
|
7
|
+
|
8
|
+
ARGV[1] id
|
9
|
+
ARGV[2] progress
|
10
|
+
|
11
|
+
Event:
|
12
|
+
progress(jobId, progress)
|
13
13
|
]]
|
14
14
|
local rcall = redis.call
|
15
15
|
|
@@ -20,4 +20,3 @@ if rcall("EXISTS",KEYS[1]) == 1 then -- // Make sure job exists
|
|
20
20
|
else
|
21
21
|
return -1
|
22
22
|
end
|
23
|
-
|