bullmq 2.4.0 → 3.0.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.
- package/README.md +1 -1
- package/dist/cjs/classes/backoffs.d.ts +3 -6
- package/dist/cjs/classes/backoffs.js +8 -8
- package/dist/cjs/classes/backoffs.js.map +1 -1
- package/dist/cjs/classes/flow-producer.js +2 -1
- package/dist/cjs/classes/flow-producer.js.map +1 -1
- package/dist/cjs/classes/job.d.ts +3 -3
- package/dist/cjs/classes/job.js +1 -1
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/queue-base.js +1 -1
- package/dist/cjs/classes/queue-base.js.map +1 -1
- package/dist/cjs/classes/queue.d.ts +8 -6
- package/dist/cjs/classes/queue.js +10 -9
- package/dist/cjs/classes/queue.js.map +1 -1
- package/dist/cjs/classes/repeat.d.ts +0 -1
- package/dist/cjs/classes/repeat.js +4 -5
- package/dist/cjs/classes/repeat.js.map +1 -1
- package/dist/cjs/classes/scripts.d.ts +6 -6
- package/dist/cjs/classes/scripts.js +43 -22
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/classes/worker.d.ts +12 -3
- package/dist/cjs/classes/worker.js +50 -34
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/commands/includes/getRateLimitTTL.lua +13 -0
- package/dist/cjs/commands/includes/moveJobFromWaitToActive.lua +15 -34
- package/dist/cjs/commands/includes/promoteDelayedJobs.lua +0 -6
- package/dist/cjs/commands/moveToActive-9.lua +11 -2
- package/dist/cjs/commands/moveToDelayed-8.lua +63 -0
- package/dist/cjs/commands/moveToFinished-12.lua +8 -1
- package/dist/{esm/commands/retryJob-6.lua → cjs/commands/retryJob-8.lua} +15 -8
- package/dist/cjs/interfaces/advanced-options.d.ts +4 -4
- package/dist/cjs/interfaces/base-job-options.d.ts +0 -6
- package/dist/cjs/interfaces/queue-options.d.ts +0 -10
- package/dist/cjs/interfaces/rate-limiter-options.d.ts +0 -18
- package/dist/cjs/interfaces/repeat-options.d.ts +1 -6
- package/dist/cjs/scripts/index.d.ts +2 -2
- package/dist/cjs/scripts/index.js +2 -2
- package/dist/cjs/scripts/moveToActive-9.js +35 -36
- package/dist/cjs/scripts/moveToActive-9.js.map +1 -1
- package/dist/cjs/scripts/{moveToDelayed-5.d.ts → moveToDelayed-8.d.ts} +0 -0
- package/dist/cjs/scripts/moveToDelayed-8.js +116 -0
- package/dist/cjs/scripts/moveToDelayed-8.js.map +1 -0
- package/dist/cjs/scripts/moveToFinished-12.js +33 -36
- package/dist/cjs/scripts/moveToFinished-12.js.map +1 -1
- package/dist/cjs/scripts/{retryJob-6.d.ts → retryJob-8.d.ts} +0 -0
- package/dist/cjs/scripts/retryJob-8.js +112 -0
- package/dist/cjs/scripts/retryJob-8.js.map +1 -0
- package/dist/cjs/types/backoff-strategy.d.ts +2 -0
- package/dist/cjs/types/backoff-strategy.js +3 -0
- package/dist/cjs/types/backoff-strategy.js.map +1 -0
- package/dist/cjs/types/index.d.ts +2 -1
- package/dist/cjs/types/index.js +2 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils.d.ts +1 -3
- package/dist/cjs/utils.js +1 -13
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/classes/backoffs.d.ts +3 -6
- package/dist/esm/classes/backoffs.js +8 -8
- package/dist/esm/classes/backoffs.js.map +1 -1
- package/dist/esm/classes/flow-producer.js +3 -2
- package/dist/esm/classes/flow-producer.js.map +1 -1
- package/dist/esm/classes/job.d.ts +3 -3
- package/dist/esm/classes/job.js +1 -1
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/queue-base.js +1 -1
- package/dist/esm/classes/queue-base.js.map +1 -1
- package/dist/esm/classes/queue.d.ts +8 -6
- package/dist/esm/classes/queue.js +11 -10
- package/dist/esm/classes/queue.js.map +1 -1
- package/dist/esm/classes/repeat.d.ts +0 -1
- package/dist/esm/classes/repeat.js +4 -5
- package/dist/esm/classes/repeat.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +6 -6
- package/dist/esm/classes/scripts.js +41 -20
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/classes/worker.d.ts +12 -3
- package/dist/esm/classes/worker.js +50 -34
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/commands/includes/getRateLimitTTL.lua +13 -0
- package/dist/esm/commands/includes/moveJobFromWaitToActive.lua +15 -34
- package/dist/esm/commands/includes/promoteDelayedJobs.lua +0 -6
- package/dist/esm/commands/moveToActive-9.lua +11 -2
- package/dist/esm/commands/moveToDelayed-8.lua +63 -0
- package/dist/esm/commands/moveToFinished-12.lua +8 -1
- package/dist/{cjs/commands/retryJob-6.lua → esm/commands/retryJob-8.lua} +15 -8
- package/dist/esm/interfaces/advanced-options.d.ts +4 -4
- package/dist/esm/interfaces/base-job-options.d.ts +0 -6
- package/dist/esm/interfaces/queue-options.d.ts +0 -10
- package/dist/esm/interfaces/rate-limiter-options.d.ts +0 -18
- package/dist/esm/interfaces/repeat-options.d.ts +1 -6
- package/dist/esm/scripts/index.d.ts +2 -2
- package/dist/esm/scripts/index.js +2 -2
- package/dist/esm/scripts/moveToActive-9.js +35 -36
- package/dist/esm/scripts/moveToActive-9.js.map +1 -1
- package/dist/esm/scripts/{moveToDelayed-5.d.ts → moveToDelayed-8.d.ts} +0 -0
- package/dist/esm/scripts/moveToDelayed-8.js +113 -0
- package/dist/esm/scripts/moveToDelayed-8.js.map +1 -0
- package/dist/esm/scripts/moveToFinished-12.js +33 -36
- package/dist/esm/scripts/moveToFinished-12.js.map +1 -1
- package/dist/esm/scripts/{retryJob-6.d.ts → retryJob-8.d.ts} +0 -0
- package/dist/esm/scripts/retryJob-8.js +109 -0
- package/dist/esm/scripts/retryJob-8.js.map +1 -0
- package/dist/esm/types/backoff-strategy.d.ts +2 -0
- package/dist/esm/types/backoff-strategy.js +2 -0
- package/dist/esm/types/backoff-strategy.js.map +1 -0
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/types/index.js +2 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils.d.ts +1 -3
- package/dist/esm/utils.js +0 -11
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/commands/moveToDelayed-5.lua +0 -54
- package/dist/cjs/scripts/moveToDelayed-5.js +0 -52
- package/dist/cjs/scripts/moveToDelayed-5.js.map +0 -1
- package/dist/cjs/scripts/retryJob-6.js +0 -60
- package/dist/cjs/scripts/retryJob-6.js.map +0 -1
- package/dist/esm/commands/moveToDelayed-5.lua +0 -54
- package/dist/esm/scripts/moveToDelayed-5.js +0 -49
- package/dist/esm/scripts/moveToDelayed-5.js.map +0 -1
- package/dist/esm/scripts/retryJob-6.js +0 -57
- package/dist/esm/scripts/retryJob-6.js.map +0 -1
@@ -1,54 +0,0 @@
|
|
1
|
-
--[[
|
2
|
-
Moves job from active to delayed set.
|
3
|
-
|
4
|
-
Input:
|
5
|
-
KEYS[1] active key
|
6
|
-
KEYS[2] delayed key
|
7
|
-
KEYS[3] job key
|
8
|
-
KEYS[4] events stream
|
9
|
-
KEYS[5] delayed stream
|
10
|
-
|
11
|
-
ARGV[1] delayedTimestamp
|
12
|
-
ARGV[2] the id of the job
|
13
|
-
ARGV[3] queue token
|
14
|
-
|
15
|
-
Output:
|
16
|
-
0 - OK
|
17
|
-
-1 - Missing job.
|
18
|
-
-3 - Job not in active set.
|
19
|
-
|
20
|
-
Events:
|
21
|
-
- delayed key.
|
22
|
-
]]
|
23
|
-
local rcall = redis.call
|
24
|
-
|
25
|
-
if rcall("EXISTS", KEYS[3]) == 1 then
|
26
|
-
|
27
|
-
if ARGV[3] ~= "0" then
|
28
|
-
local lockKey = KEYS[3] .. ':lock'
|
29
|
-
if rcall("GET", lockKey) == ARGV[3] then
|
30
|
-
rcall("DEL", lockKey)
|
31
|
-
else
|
32
|
-
return -2
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
local jobId = ARGV[2]
|
37
|
-
local score = tonumber(ARGV[1])
|
38
|
-
local delayedTimestamp = (score / 0x1000)
|
39
|
-
|
40
|
-
local numRemovedElements = rcall("LREM", KEYS[1], -1, jobId)
|
41
|
-
|
42
|
-
if(numRemovedElements < 1) then
|
43
|
-
return -3
|
44
|
-
end
|
45
|
-
|
46
|
-
rcall("ZADD", KEYS[2], score, jobId)
|
47
|
-
|
48
|
-
rcall("XADD", KEYS[4], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp);
|
49
|
-
rcall("XADD", KEYS[5], "*", "nextTimestamp", delayedTimestamp);
|
50
|
-
|
51
|
-
return 0
|
52
|
-
else
|
53
|
-
return -1
|
54
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
const content = `--[[
|
2
|
-
Moves job from active to delayed set.
|
3
|
-
Input:
|
4
|
-
KEYS[1] active key
|
5
|
-
KEYS[2] delayed key
|
6
|
-
KEYS[3] job key
|
7
|
-
KEYS[4] events stream
|
8
|
-
KEYS[5] delayed stream
|
9
|
-
ARGV[1] delayedTimestamp
|
10
|
-
ARGV[2] the id of the job
|
11
|
-
ARGV[3] queue token
|
12
|
-
Output:
|
13
|
-
0 - OK
|
14
|
-
-1 - Missing job.
|
15
|
-
-3 - Job not in active set.
|
16
|
-
Events:
|
17
|
-
- delayed key.
|
18
|
-
]]
|
19
|
-
local rcall = redis.call
|
20
|
-
if rcall("EXISTS", KEYS[3]) == 1 then
|
21
|
-
if ARGV[3] ~= "0" then
|
22
|
-
local lockKey = KEYS[3] .. ':lock'
|
23
|
-
if rcall("GET", lockKey) == ARGV[3] then
|
24
|
-
rcall("DEL", lockKey)
|
25
|
-
else
|
26
|
-
return -2
|
27
|
-
end
|
28
|
-
end
|
29
|
-
local jobId = ARGV[2]
|
30
|
-
local score = tonumber(ARGV[1])
|
31
|
-
local delayedTimestamp = (score / 0x1000)
|
32
|
-
local numRemovedElements = rcall("LREM", KEYS[1], -1, jobId)
|
33
|
-
if(numRemovedElements < 1) then
|
34
|
-
return -3
|
35
|
-
end
|
36
|
-
rcall("ZADD", KEYS[2], score, jobId)
|
37
|
-
rcall("XADD", KEYS[4], "*", "event", "delayed", "jobId", jobId, "delay", delayedTimestamp);
|
38
|
-
rcall("XADD", KEYS[5], "*", "nextTimestamp", delayedTimestamp);
|
39
|
-
return 0
|
40
|
-
else
|
41
|
-
return -1
|
42
|
-
end
|
43
|
-
`;
|
44
|
-
export const moveToDelayed = {
|
45
|
-
name: 'moveToDelayed',
|
46
|
-
content,
|
47
|
-
keys: 5,
|
48
|
-
};
|
49
|
-
//# sourceMappingURL=moveToDelayed-5.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"moveToDelayed-5.js","sourceRoot":"","sources":["../../../src/scripts/moveToDelayed-5.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cf,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,eAAe;IACrB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -1,57 +0,0 @@
|
|
1
|
-
const content = `--[[
|
2
|
-
Retries a failed job by moving it back to the wait queue.
|
3
|
-
Input:
|
4
|
-
KEYS[1] 'active',
|
5
|
-
KEYS[2] 'wait'
|
6
|
-
KEYS[3] 'paused'
|
7
|
-
KEYS[4] job key
|
8
|
-
KEYS[5] 'meta'
|
9
|
-
KEYS[6] events stream
|
10
|
-
ARGV[1] pushCmd
|
11
|
-
ARGV[2] jobId
|
12
|
-
ARGV[3] token
|
13
|
-
Events:
|
14
|
-
'waiting'
|
15
|
-
Output:
|
16
|
-
0 - OK
|
17
|
-
-1 - Missing key
|
18
|
-
-2 - Missing lock
|
19
|
-
]]
|
20
|
-
local rcall = redis.call
|
21
|
-
-- Includes
|
22
|
-
--[[
|
23
|
-
Function to check for the meta.paused key to decide if we are paused or not
|
24
|
-
(since an empty list and !EXISTS are not really the same).
|
25
|
-
]]
|
26
|
-
local function getTargetQueueList(queueMetaKey, waitKey, pausedKey)
|
27
|
-
if rcall("HEXISTS", queueMetaKey, "paused") ~= 1 then
|
28
|
-
return waitKey
|
29
|
-
else
|
30
|
-
return pausedKey
|
31
|
-
end
|
32
|
-
end
|
33
|
-
if rcall("EXISTS", KEYS[4]) == 1 then
|
34
|
-
if ARGV[3] ~= "0" then
|
35
|
-
local lockKey = KEYS[4] .. ':lock'
|
36
|
-
if rcall("GET", lockKey) == ARGV[3] then
|
37
|
-
rcall("DEL", lockKey)
|
38
|
-
else
|
39
|
-
return -2
|
40
|
-
end
|
41
|
-
end
|
42
|
-
local target = getTargetQueueList(KEYS[5], KEYS[2], KEYS[3])
|
43
|
-
rcall("LREM", KEYS[1], 0, ARGV[2])
|
44
|
-
rcall(ARGV[1], target, ARGV[2])
|
45
|
-
-- Emit waiting event
|
46
|
-
rcall("XADD", KEYS[6], "*", "event", "waiting", "jobId", ARGV[2], "prev", "failed");
|
47
|
-
return 0
|
48
|
-
else
|
49
|
-
return -1
|
50
|
-
end
|
51
|
-
`;
|
52
|
-
export const retryJob = {
|
53
|
-
name: 'retryJob',
|
54
|
-
content,
|
55
|
-
keys: 6,
|
56
|
-
};
|
57
|
-
//# sourceMappingURL=retryJob-6.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"retryJob-6.js","sourceRoot":"","sources":["../../../src/scripts/retryJob-6.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDf,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,UAAU;IAChB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|