bullmq 1.76.3 → 1.76.4
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/cjs/classes/scripts.js +27 -19
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/commands/includes/moveJobFromWaitToActive.lua +81 -5
- package/dist/cjs/commands/moveToActive-8.lua +10 -64
- package/dist/cjs/commands/{moveToFinished-9.lua → moveToFinished-12.lua} +62 -56
- package/dist/esm/classes/scripts.js +27 -19
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/commands/includes/moveJobFromWaitToActive.lua +81 -5
- package/dist/esm/commands/moveToActive-8.lua +10 -64
- package/dist/esm/commands/{moveToFinished-9.lua → moveToFinished-12.lua} +62 -56
- package/package.json +1 -1
@@ -131,44 +131,49 @@ class Scripts {
|
|
131
131
|
queue.emit('progress', job, progress);
|
132
132
|
}
|
133
133
|
static moveToFinishedArgs(queue, job, val, propVal, shouldRemove, target, token, fetchNext = true) {
|
134
|
-
var _a, _b, _c
|
134
|
+
var _a, _b, _c;
|
135
135
|
const queueKeys = queue.keys;
|
136
136
|
const opts = queue.opts;
|
137
137
|
const metricsKey = queue.toKey(`metrics:${target}`);
|
138
138
|
const keys = [
|
139
|
-
queueKeys.active,
|
140
|
-
queueKeys[target],
|
141
|
-
queue.toKey(job.id),
|
142
139
|
queueKeys.wait,
|
140
|
+
queueKeys.active,
|
143
141
|
queueKeys.priority,
|
144
142
|
queueKeys.events,
|
145
|
-
queueKeys.meta,
|
146
143
|
queueKeys.stalled,
|
144
|
+
queueKeys.limiter,
|
145
|
+
queueKeys.delayed,
|
146
|
+
queueKeys.delay,
|
147
|
+
queueKeys[target],
|
148
|
+
queue.toKey(job.id),
|
149
|
+
queueKeys.meta,
|
147
150
|
metricsKey,
|
148
151
|
];
|
149
|
-
const keepJobs =
|
152
|
+
const keepJobs = typeof shouldRemove === 'object'
|
150
153
|
? shouldRemove
|
151
154
|
: typeof shouldRemove === 'number'
|
152
155
|
? { count: shouldRemove }
|
153
|
-
: { count: shouldRemove ? 0 : -1 }
|
156
|
+
: { count: shouldRemove ? 0 : -1 };
|
154
157
|
const args = [
|
155
158
|
job.id,
|
156
159
|
Date.now(),
|
157
160
|
propVal,
|
158
161
|
typeof val === 'undefined' ? 'null' : val,
|
159
162
|
target,
|
160
|
-
keepJobs,
|
161
163
|
JSON.stringify({ jobId: job.id, val: val }),
|
162
|
-
!fetchNext || queue.closing
|
164
|
+
!fetchNext || queue.closing ? 0 : 1,
|
163
165
|
queueKeys[''],
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
166
|
+
pack({
|
167
|
+
token,
|
168
|
+
keepJobs,
|
169
|
+
limiter: opts.limiter,
|
170
|
+
lockDuration: opts.lockDuration,
|
171
|
+
parent: (_a = job.opts) === null || _a === void 0 ? void 0 : _a.parent,
|
172
|
+
parentKey: job.parentKey,
|
173
|
+
attempts: job.opts.attempts,
|
174
|
+
attemptsMade: job.attemptsMade,
|
175
|
+
maxMetricsSize: ((_b = opts.metrics) === null || _b === void 0 ? void 0 : _b.maxDataPoints) ? (_c = opts.metrics) === null || _c === void 0 ? void 0 : _c.maxDataPoints : '',
|
176
|
+
}),
|
172
177
|
];
|
173
178
|
return keys.concat(args);
|
174
179
|
}
|
@@ -432,10 +437,13 @@ class Scripts {
|
|
432
437
|
];
|
433
438
|
const args = [
|
434
439
|
queueKeys[''],
|
435
|
-
token,
|
436
|
-
opts.lockDuration,
|
437
440
|
Date.now(),
|
438
441
|
jobId,
|
442
|
+
pack({
|
443
|
+
token,
|
444
|
+
lockDuration: opts.lockDuration,
|
445
|
+
limiter: opts.limiter,
|
446
|
+
}),
|
439
447
|
];
|
440
448
|
if (opts.limiter) {
|
441
449
|
args.push(opts.limiter.max, opts.limiter.duration);
|
@@ -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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"}
|
@@ -1,15 +1,91 @@
|
|
1
1
|
|
2
2
|
--[[
|
3
3
|
Function to move job from wait state to active.
|
4
|
+
Input:
|
5
|
+
keys[1] wait key
|
6
|
+
keys[2] active key
|
7
|
+
keys[3] priority key
|
8
|
+
keys[4] stream events key
|
9
|
+
keys[5] stalled key
|
10
|
+
|
11
|
+
-- Rate limiting
|
12
|
+
keys[6] rate limiter key
|
13
|
+
keys[7] delayed key
|
14
|
+
|
15
|
+
-- Delay events
|
16
|
+
keys[8] delay stream key
|
17
|
+
|
18
|
+
opts - token - lock token
|
19
|
+
opts - lockDuration
|
20
|
+
opts - limiter
|
4
21
|
]]
|
5
22
|
|
6
|
-
local function moveJobFromWaitToActive(
|
7
|
-
|
8
|
-
|
23
|
+
local function moveJobFromWaitToActive(keys, keyPrefix, jobId, processedOn, opts)
|
24
|
+
-- Check if we need to perform rate limiting.
|
25
|
+
local maxJobs = tonumber(opts['limiter'] and opts['limiter']['max'])
|
26
|
+
|
27
|
+
if(maxJobs) then
|
28
|
+
local rateLimiterKey = keys[6];
|
29
|
+
|
30
|
+
local groupKey
|
31
|
+
local groupKeyOpt = opts['limiter'] and opts['limiter']['groupKey'] or ""
|
32
|
+
if groupKeyOpt ~= "" then
|
33
|
+
groupKey = string.match(jobId, "[^:]+$")
|
34
|
+
if groupKey ~= jobId then
|
35
|
+
rateLimiterKey = rateLimiterKey .. ":" .. groupKey
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
local jobCounter
|
40
|
+
|
41
|
+
if groupKey ~= nil then
|
42
|
+
if rateLimiterKey ~= keys[6] then
|
43
|
+
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
44
|
+
end
|
45
|
+
else
|
46
|
+
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
47
|
+
end
|
48
|
+
|
49
|
+
local limiterDuration = opts['limiter'] and opts['limiter']['duration']
|
50
|
+
-- check if rate limit hit
|
51
|
+
if jobCounter ~= nil and jobCounter > maxJobs then
|
52
|
+
local exceedingJobs = jobCounter - maxJobs
|
53
|
+
local expireTime = tonumber(rcall("PTTL", rateLimiterKey))
|
54
|
+
local delay = expireTime + ((exceedingJobs - 1) * limiterDuration) / maxJobs;
|
55
|
+
local timestamp = delay + tonumber(processedOn)
|
56
|
+
|
57
|
+
-- put job into delayed queue
|
58
|
+
rcall("ZADD", keys[7], timestamp * 0x1000 + bit.band(jobCounter, 0xfff), jobId);
|
59
|
+
rcall("XADD", keys[4], "*", "event", "delayed", "jobId", jobId, "delay", timestamp);
|
60
|
+
rcall("XADD", keys[8], "*", "nextTimestamp", timestamp);
|
61
|
+
-- remove from active queue
|
62
|
+
rcall("LREM", keys[2], 1, jobId)
|
63
|
+
|
64
|
+
-- Return when we can process more jobs
|
65
|
+
return expireTime
|
66
|
+
else
|
67
|
+
if jobCounter == 1 then
|
68
|
+
rcall("PEXPIRE", rateLimiterKey, limiterDuration)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
local jobKey = keyPrefix .. jobId
|
74
|
+
local lockKey = jobKey .. ':lock'
|
75
|
+
|
76
|
+
-- get a lock
|
77
|
+
if opts['token'] ~= "0" then
|
78
|
+
rcall("SET", lockKey, opts['token'], "PX", opts['lockDuration'])
|
79
|
+
end
|
80
|
+
|
81
|
+
rcall("ZREM", keys[3], jobId) -- remove from priority
|
82
|
+
rcall("XADD", keys[4], "*", "event", "active", "jobId", jobId, "prev", "waiting")
|
9
83
|
rcall("HSET", jobKey, "processedOn", processedOn)
|
10
84
|
rcall("HINCRBY", jobKey, "attemptsMade", 1)
|
11
|
-
local len = rcall("LLEN",
|
85
|
+
local len = rcall("LLEN", keys[1])
|
12
86
|
if len == 0 then
|
13
|
-
rcall("XADD",
|
87
|
+
rcall("XADD", keys[4], "*", "event", "drained");
|
14
88
|
end
|
89
|
+
|
90
|
+
return {rcall("HGETALL", jobKey), jobId} -- get job data
|
15
91
|
end
|
@@ -22,14 +22,13 @@
|
|
22
22
|
|
23
23
|
-- Arguments
|
24
24
|
ARGV[1] key prefix
|
25
|
-
ARGV[2]
|
26
|
-
ARGV[3]
|
27
|
-
ARGV[4]
|
28
|
-
ARGV[5] optional job ID
|
25
|
+
ARGV[2] timestamp
|
26
|
+
ARGV[3] optional job ID
|
27
|
+
ARGV[4] opts
|
29
28
|
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
opts - token - lock token
|
30
|
+
opts - lockDuration
|
31
|
+
opts - limiter
|
33
32
|
]]
|
34
33
|
|
35
34
|
local jobId
|
@@ -38,8 +37,8 @@ local rcall = redis.call
|
|
38
37
|
-- Includes
|
39
38
|
--- @include "includes/moveJobFromWaitToActive"
|
40
39
|
|
41
|
-
if(ARGV[
|
42
|
-
jobId = ARGV[
|
40
|
+
if(ARGV[3] ~= "") then
|
41
|
+
jobId = ARGV[3]
|
43
42
|
|
44
43
|
-- clean stalled key
|
45
44
|
rcall("SREM", KEYS[5], jobId)
|
@@ -49,60 +48,7 @@ else
|
|
49
48
|
end
|
50
49
|
|
51
50
|
if jobId then
|
52
|
-
|
53
|
-
local maxJobs = tonumber(ARGV[6])
|
51
|
+
local opts = cmsgpack.unpack(ARGV[4])
|
54
52
|
|
55
|
-
|
56
|
-
local rateLimiterKey = KEYS[6];
|
57
|
-
|
58
|
-
local groupKey
|
59
|
-
if(ARGV[8]) then
|
60
|
-
groupKey = string.match(jobId, "[^:]+$")
|
61
|
-
if groupKey ~= jobId then
|
62
|
-
rateLimiterKey = rateLimiterKey .. ":" .. groupKey
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
local jobCounter
|
67
|
-
|
68
|
-
if groupKey ~= nil then
|
69
|
-
if rateLimiterKey ~= KEYS[6] then
|
70
|
-
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
71
|
-
end
|
72
|
-
else
|
73
|
-
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
74
|
-
end
|
75
|
-
|
76
|
-
-- check if rate limit hit
|
77
|
-
if jobCounter ~= nil and jobCounter > maxJobs then
|
78
|
-
local exceedingJobs = jobCounter - maxJobs
|
79
|
-
local expireTime = tonumber(rcall("PTTL", rateLimiterKey))
|
80
|
-
local delay = expireTime + ((exceedingJobs - 1) * ARGV[7]) / maxJobs;
|
81
|
-
local timestamp = delay + tonumber(ARGV[4])
|
82
|
-
|
83
|
-
-- put job into delayed queue
|
84
|
-
rcall("ZADD", KEYS[7], timestamp * 0x1000 + bit.band(jobCounter, 0xfff), jobId);
|
85
|
-
rcall("XADD", KEYS[4], "*", "event", "delayed", "jobId", jobId, "delay", timestamp);
|
86
|
-
rcall("XADD", KEYS[8], "*", "nextTimestamp", timestamp);
|
87
|
-
-- remove from active queue
|
88
|
-
rcall("LREM", KEYS[2], 1, jobId)
|
89
|
-
|
90
|
-
-- Return when we can process more jobs
|
91
|
-
return expireTime
|
92
|
-
else
|
93
|
-
if jobCounter == 1 then
|
94
|
-
rcall("PEXPIRE", rateLimiterKey, ARGV[7])
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
local jobKey = ARGV[1] .. jobId
|
100
|
-
local lockKey = jobKey .. ':lock'
|
101
|
-
|
102
|
-
-- get a lock
|
103
|
-
rcall("SET", lockKey, ARGV[2], "PX", ARGV[3])
|
104
|
-
|
105
|
-
moveJobFromWaitToActive(KEYS[1], KEYS[3], KEYS[4], jobKey, jobId, ARGV[4])
|
106
|
-
|
107
|
-
return {rcall("HGETALL", jobKey), jobId} -- get job data
|
53
|
+
return moveJobFromWaitToActive(KEYS, ARGV[1], jobId, ARGV[2], opts)
|
108
54
|
end
|
@@ -5,33 +5,42 @@
|
|
5
5
|
and the lock must be released in this script.
|
6
6
|
|
7
7
|
Input:
|
8
|
-
KEYS[1]
|
9
|
-
KEYS[2]
|
10
|
-
KEYS[3]
|
11
|
-
KEYS[4]
|
12
|
-
KEYS[5]
|
13
|
-
|
14
|
-
|
15
|
-
KEYS[
|
16
|
-
KEYS[
|
8
|
+
KEYS[1] wait key
|
9
|
+
KEYS[2] active key
|
10
|
+
KEYS[3] priority key
|
11
|
+
KEYS[4] event stream key
|
12
|
+
KEYS[5] stalled key
|
13
|
+
|
14
|
+
-- Rate limiting
|
15
|
+
KEYS[6] rate limiter key
|
16
|
+
KEYS[7] delayed key
|
17
|
+
|
18
|
+
-- Delay events
|
19
|
+
KEYS[8] delay stream key
|
20
|
+
|
21
|
+
KEYS[9] completed/failed key
|
22
|
+
KEYS[10] jobId key
|
23
|
+
KEYS[11] meta key
|
24
|
+
KEYS[12] metrics key
|
17
25
|
|
18
26
|
ARGV[1] jobId
|
19
27
|
ARGV[2] timestamp
|
20
28
|
ARGV[3] msg property
|
21
29
|
ARGV[4] return value / failed reason
|
22
30
|
ARGV[5] target (completed/failed)
|
23
|
-
ARGV[6]
|
24
|
-
ARGV[7]
|
25
|
-
ARGV[8]
|
26
|
-
ARGV[9]
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
ARGV[6] event data (? maybe just send jobid).
|
32
|
+
ARGV[7] fetch next?
|
33
|
+
ARGV[8] keys prefix
|
34
|
+
ARGV[9] opts
|
35
|
+
|
36
|
+
opts - token - lock token
|
37
|
+
opts - keepJobs
|
38
|
+
opts - lockDuration - lock duration in milliseconds
|
39
|
+
opts - parent - parent data
|
40
|
+
opts - parentKey
|
41
|
+
opts - attempts max attempts
|
42
|
+
opts - attemptsMade
|
43
|
+
opts - maxMetricsSize
|
35
44
|
|
36
45
|
Output:
|
37
46
|
0 OK
|
@@ -52,13 +61,25 @@
|
|
52
61
|
--- @include "includes/updateParentDepsIfNeeded"
|
53
62
|
--- @include "includes/collectMetrics"
|
54
63
|
|
55
|
-
local jobIdKey = KEYS[
|
64
|
+
local jobIdKey = KEYS[10]
|
56
65
|
if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
57
|
-
|
66
|
+
local opts = cmsgpack.unpack(ARGV[9])
|
67
|
+
|
68
|
+
local token = opts['token']
|
69
|
+
local parentId = opts['parent'] and opts['parent']['id'] or ""
|
70
|
+
local parentQueueKey = opts['parent'] and opts['parent']['queue'] or ""
|
71
|
+
local parentKey = opts['parentKey'] or ""
|
72
|
+
local attempts = opts['attempts']
|
73
|
+
local attemptsMade = opts['attemptsMade']
|
74
|
+
local maxMetricsSize = opts['maxMetricsSize']
|
75
|
+
local maxCount = opts['keepJobs']['count']
|
76
|
+
local maxAge = opts['keepJobs']['age']
|
77
|
+
|
78
|
+
if token ~= "0" then
|
58
79
|
local lockKey = jobIdKey .. ':lock'
|
59
|
-
if rcall("GET", lockKey) ==
|
80
|
+
if rcall("GET", lockKey) == token then
|
60
81
|
rcall("DEL", lockKey)
|
61
|
-
rcall("SREM", KEYS[
|
82
|
+
rcall("SREM", KEYS[5], ARGV[1])
|
62
83
|
else
|
63
84
|
return -2
|
64
85
|
end
|
@@ -72,12 +93,12 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
72
93
|
local timestamp = ARGV[2]
|
73
94
|
|
74
95
|
-- Remove from active list (if not active we shall return error)
|
75
|
-
local numRemovedElements = rcall("LREM", KEYS[
|
96
|
+
local numRemovedElements = rcall("LREM", KEYS[2], -1, jobId)
|
76
97
|
|
77
98
|
if (numRemovedElements < 1) then return -3 end
|
78
99
|
|
79
100
|
-- Trim events before emiting them to avoid trimming events emitted in this script
|
80
|
-
trimEvents(KEYS[
|
101
|
+
trimEvents(KEYS[11], KEYS[4])
|
81
102
|
|
82
103
|
-- If job has a parent we need to
|
83
104
|
-- 1) remove this job id from parents dependencies
|
@@ -85,11 +106,9 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
85
106
|
-- 3) push the results into parent "results" list
|
86
107
|
-- 4) if parent's dependencies is empty, then move parent to "wait/paused". Note it may be a different queue!.
|
87
108
|
-- NOTE: Priorities not supported yet for parent jobs.
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
parentId = getJobIdFromKey(ARGV[14])
|
92
|
-
parentQueueKey = getJobKeyPrefix(ARGV[14], ":" .. parentId)
|
109
|
+
if parentId == "" and parentKey ~= "" then
|
110
|
+
parentId = getJobIdFromKey(parentKey)
|
111
|
+
parentQueueKey = getJobKeyPrefix(parentKey, ":" .. parentId)
|
93
112
|
end
|
94
113
|
if parentId ~= "" and ARGV[5] == "completed" then
|
95
114
|
local parentKey = parentQueueKey .. ":" .. parentId
|
@@ -102,17 +121,14 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
102
121
|
end
|
103
122
|
|
104
123
|
-- Remove job?
|
105
|
-
local keepJobs = cmsgpack.unpack(ARGV[6])
|
106
|
-
local maxCount = keepJobs['count']
|
107
|
-
local maxAge = keepJobs['age']
|
108
124
|
if maxCount ~= 0 then
|
109
|
-
local targetSet = KEYS[
|
125
|
+
local targetSet = KEYS[9]
|
110
126
|
-- Add to complete/failed set
|
111
127
|
rcall("ZADD", targetSet, timestamp, jobId)
|
112
128
|
rcall("HMSET", jobIdKey, ARGV[3], ARGV[4], "finishedOn", timestamp) -- "returnvalue" / "failedReason" and "finishedOn"
|
113
129
|
|
114
130
|
-- Remove old jobs?
|
115
|
-
local prefix = ARGV[
|
131
|
+
local prefix = ARGV[8]
|
116
132
|
|
117
133
|
if maxAge ~= nil then
|
118
134
|
local start = timestamp - maxAge * 1000
|
@@ -135,38 +151,28 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
135
151
|
rcall("DEL", jobIdKey, jobIdKey .. ':logs', jobIdKey .. ':processed')
|
136
152
|
end
|
137
153
|
|
138
|
-
rcall("XADD", KEYS[
|
154
|
+
rcall("XADD", KEYS[4], "*", "event", ARGV[5], "jobId", jobId, ARGV[3],
|
139
155
|
ARGV[4])
|
140
156
|
|
141
157
|
if ARGV[5] == "failed" then
|
142
|
-
if tonumber(
|
143
|
-
rcall("XADD", KEYS[
|
144
|
-
jobId, "attemptsMade",
|
158
|
+
if tonumber(attemptsMade) >= tonumber(attempts) then
|
159
|
+
rcall("XADD", KEYS[4], "*", "event", "retries-exhausted", "jobId",
|
160
|
+
jobId, "attemptsMade", attemptsMade)
|
145
161
|
end
|
146
162
|
end
|
147
163
|
|
148
164
|
-- Collect metrics
|
149
|
-
if
|
150
|
-
collectMetrics(KEYS[
|
165
|
+
if maxMetricsSize ~= "" then
|
166
|
+
collectMetrics(KEYS[12], KEYS[12]..':data', maxMetricsSize, timestamp)
|
151
167
|
end
|
152
168
|
|
153
169
|
-- Try to get next job to avoid an extra roundtrip if the queue is not closing,
|
154
170
|
-- and not rate limited.
|
155
|
-
if (ARGV[
|
171
|
+
if (ARGV[7] == "1") then
|
156
172
|
-- move from wait to active
|
157
|
-
local jobId = rcall("RPOPLPUSH", KEYS[
|
173
|
+
local jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
|
158
174
|
if jobId then
|
159
|
-
|
160
|
-
local lockKey = jobKey .. ':lock'
|
161
|
-
|
162
|
-
-- get a lock
|
163
|
-
if ARGV[10] ~= "0" then
|
164
|
-
rcall("SET", lockKey, ARGV[10], "PX", ARGV[11])
|
165
|
-
end
|
166
|
-
|
167
|
-
moveJobFromWaitToActive(KEYS[4], KEYS[5], KEYS[6], jobKey, jobId, timestamp)
|
168
|
-
|
169
|
-
return {rcall("HGETALL", jobKey), jobId} -- get job data
|
175
|
+
return moveJobFromWaitToActive(KEYS, ARGV[8], jobId, timestamp, opts)
|
170
176
|
end
|
171
177
|
end
|
172
178
|
|
@@ -129,44 +129,49 @@ export class Scripts {
|
|
129
129
|
queue.emit('progress', job, progress);
|
130
130
|
}
|
131
131
|
static moveToFinishedArgs(queue, job, val, propVal, shouldRemove, target, token, fetchNext = true) {
|
132
|
-
var _a, _b, _c
|
132
|
+
var _a, _b, _c;
|
133
133
|
const queueKeys = queue.keys;
|
134
134
|
const opts = queue.opts;
|
135
135
|
const metricsKey = queue.toKey(`metrics:${target}`);
|
136
136
|
const keys = [
|
137
|
-
queueKeys.active,
|
138
|
-
queueKeys[target],
|
139
|
-
queue.toKey(job.id),
|
140
137
|
queueKeys.wait,
|
138
|
+
queueKeys.active,
|
141
139
|
queueKeys.priority,
|
142
140
|
queueKeys.events,
|
143
|
-
queueKeys.meta,
|
144
141
|
queueKeys.stalled,
|
142
|
+
queueKeys.limiter,
|
143
|
+
queueKeys.delayed,
|
144
|
+
queueKeys.delay,
|
145
|
+
queueKeys[target],
|
146
|
+
queue.toKey(job.id),
|
147
|
+
queueKeys.meta,
|
145
148
|
metricsKey,
|
146
149
|
];
|
147
|
-
const keepJobs =
|
150
|
+
const keepJobs = typeof shouldRemove === 'object'
|
148
151
|
? shouldRemove
|
149
152
|
: typeof shouldRemove === 'number'
|
150
153
|
? { count: shouldRemove }
|
151
|
-
: { count: shouldRemove ? 0 : -1 }
|
154
|
+
: { count: shouldRemove ? 0 : -1 };
|
152
155
|
const args = [
|
153
156
|
job.id,
|
154
157
|
Date.now(),
|
155
158
|
propVal,
|
156
159
|
typeof val === 'undefined' ? 'null' : val,
|
157
160
|
target,
|
158
|
-
keepJobs,
|
159
161
|
JSON.stringify({ jobId: job.id, val: val }),
|
160
|
-
!fetchNext || queue.closing
|
162
|
+
!fetchNext || queue.closing ? 0 : 1,
|
161
163
|
queueKeys[''],
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
164
|
+
pack({
|
165
|
+
token,
|
166
|
+
keepJobs,
|
167
|
+
limiter: opts.limiter,
|
168
|
+
lockDuration: opts.lockDuration,
|
169
|
+
parent: (_a = job.opts) === null || _a === void 0 ? void 0 : _a.parent,
|
170
|
+
parentKey: job.parentKey,
|
171
|
+
attempts: job.opts.attempts,
|
172
|
+
attemptsMade: job.attemptsMade,
|
173
|
+
maxMetricsSize: ((_b = opts.metrics) === null || _b === void 0 ? void 0 : _b.maxDataPoints) ? (_c = opts.metrics) === null || _c === void 0 ? void 0 : _c.maxDataPoints : '',
|
174
|
+
}),
|
170
175
|
];
|
171
176
|
return keys.concat(args);
|
172
177
|
}
|
@@ -430,10 +435,13 @@ export class Scripts {
|
|
430
435
|
];
|
431
436
|
const args = [
|
432
437
|
queueKeys[''],
|
433
|
-
token,
|
434
|
-
opts.lockDuration,
|
435
438
|
Date.now(),
|
436
439
|
jobId,
|
440
|
+
pack({
|
441
|
+
token,
|
442
|
+
lockDuration: opts.lockDuration,
|
443
|
+
limiter: opts.limiter,
|
444
|
+
}),
|
437
445
|
];
|
438
446
|
if (opts.limiter) {
|
439
447
|
args.push(opts.limiter.max, opts.limiter.duration);
|
@@ -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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"}
|
@@ -1,15 +1,91 @@
|
|
1
1
|
|
2
2
|
--[[
|
3
3
|
Function to move job from wait state to active.
|
4
|
+
Input:
|
5
|
+
keys[1] wait key
|
6
|
+
keys[2] active key
|
7
|
+
keys[3] priority key
|
8
|
+
keys[4] stream events key
|
9
|
+
keys[5] stalled key
|
10
|
+
|
11
|
+
-- Rate limiting
|
12
|
+
keys[6] rate limiter key
|
13
|
+
keys[7] delayed key
|
14
|
+
|
15
|
+
-- Delay events
|
16
|
+
keys[8] delay stream key
|
17
|
+
|
18
|
+
opts - token - lock token
|
19
|
+
opts - lockDuration
|
20
|
+
opts - limiter
|
4
21
|
]]
|
5
22
|
|
6
|
-
local function moveJobFromWaitToActive(
|
7
|
-
|
8
|
-
|
23
|
+
local function moveJobFromWaitToActive(keys, keyPrefix, jobId, processedOn, opts)
|
24
|
+
-- Check if we need to perform rate limiting.
|
25
|
+
local maxJobs = tonumber(opts['limiter'] and opts['limiter']['max'])
|
26
|
+
|
27
|
+
if(maxJobs) then
|
28
|
+
local rateLimiterKey = keys[6];
|
29
|
+
|
30
|
+
local groupKey
|
31
|
+
local groupKeyOpt = opts['limiter'] and opts['limiter']['groupKey'] or ""
|
32
|
+
if groupKeyOpt ~= "" then
|
33
|
+
groupKey = string.match(jobId, "[^:]+$")
|
34
|
+
if groupKey ~= jobId then
|
35
|
+
rateLimiterKey = rateLimiterKey .. ":" .. groupKey
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
local jobCounter
|
40
|
+
|
41
|
+
if groupKey ~= nil then
|
42
|
+
if rateLimiterKey ~= keys[6] then
|
43
|
+
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
44
|
+
end
|
45
|
+
else
|
46
|
+
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
47
|
+
end
|
48
|
+
|
49
|
+
local limiterDuration = opts['limiter'] and opts['limiter']['duration']
|
50
|
+
-- check if rate limit hit
|
51
|
+
if jobCounter ~= nil and jobCounter > maxJobs then
|
52
|
+
local exceedingJobs = jobCounter - maxJobs
|
53
|
+
local expireTime = tonumber(rcall("PTTL", rateLimiterKey))
|
54
|
+
local delay = expireTime + ((exceedingJobs - 1) * limiterDuration) / maxJobs;
|
55
|
+
local timestamp = delay + tonumber(processedOn)
|
56
|
+
|
57
|
+
-- put job into delayed queue
|
58
|
+
rcall("ZADD", keys[7], timestamp * 0x1000 + bit.band(jobCounter, 0xfff), jobId);
|
59
|
+
rcall("XADD", keys[4], "*", "event", "delayed", "jobId", jobId, "delay", timestamp);
|
60
|
+
rcall("XADD", keys[8], "*", "nextTimestamp", timestamp);
|
61
|
+
-- remove from active queue
|
62
|
+
rcall("LREM", keys[2], 1, jobId)
|
63
|
+
|
64
|
+
-- Return when we can process more jobs
|
65
|
+
return expireTime
|
66
|
+
else
|
67
|
+
if jobCounter == 1 then
|
68
|
+
rcall("PEXPIRE", rateLimiterKey, limiterDuration)
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
local jobKey = keyPrefix .. jobId
|
74
|
+
local lockKey = jobKey .. ':lock'
|
75
|
+
|
76
|
+
-- get a lock
|
77
|
+
if opts['token'] ~= "0" then
|
78
|
+
rcall("SET", lockKey, opts['token'], "PX", opts['lockDuration'])
|
79
|
+
end
|
80
|
+
|
81
|
+
rcall("ZREM", keys[3], jobId) -- remove from priority
|
82
|
+
rcall("XADD", keys[4], "*", "event", "active", "jobId", jobId, "prev", "waiting")
|
9
83
|
rcall("HSET", jobKey, "processedOn", processedOn)
|
10
84
|
rcall("HINCRBY", jobKey, "attemptsMade", 1)
|
11
|
-
local len = rcall("LLEN",
|
85
|
+
local len = rcall("LLEN", keys[1])
|
12
86
|
if len == 0 then
|
13
|
-
rcall("XADD",
|
87
|
+
rcall("XADD", keys[4], "*", "event", "drained");
|
14
88
|
end
|
89
|
+
|
90
|
+
return {rcall("HGETALL", jobKey), jobId} -- get job data
|
15
91
|
end
|
@@ -22,14 +22,13 @@
|
|
22
22
|
|
23
23
|
-- Arguments
|
24
24
|
ARGV[1] key prefix
|
25
|
-
ARGV[2]
|
26
|
-
ARGV[3]
|
27
|
-
ARGV[4]
|
28
|
-
ARGV[5] optional job ID
|
25
|
+
ARGV[2] timestamp
|
26
|
+
ARGV[3] optional job ID
|
27
|
+
ARGV[4] opts
|
29
28
|
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
opts - token - lock token
|
30
|
+
opts - lockDuration
|
31
|
+
opts - limiter
|
33
32
|
]]
|
34
33
|
|
35
34
|
local jobId
|
@@ -38,8 +37,8 @@ local rcall = redis.call
|
|
38
37
|
-- Includes
|
39
38
|
--- @include "includes/moveJobFromWaitToActive"
|
40
39
|
|
41
|
-
if(ARGV[
|
42
|
-
jobId = ARGV[
|
40
|
+
if(ARGV[3] ~= "") then
|
41
|
+
jobId = ARGV[3]
|
43
42
|
|
44
43
|
-- clean stalled key
|
45
44
|
rcall("SREM", KEYS[5], jobId)
|
@@ -49,60 +48,7 @@ else
|
|
49
48
|
end
|
50
49
|
|
51
50
|
if jobId then
|
52
|
-
|
53
|
-
local maxJobs = tonumber(ARGV[6])
|
51
|
+
local opts = cmsgpack.unpack(ARGV[4])
|
54
52
|
|
55
|
-
|
56
|
-
local rateLimiterKey = KEYS[6];
|
57
|
-
|
58
|
-
local groupKey
|
59
|
-
if(ARGV[8]) then
|
60
|
-
groupKey = string.match(jobId, "[^:]+$")
|
61
|
-
if groupKey ~= jobId then
|
62
|
-
rateLimiterKey = rateLimiterKey .. ":" .. groupKey
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
local jobCounter
|
67
|
-
|
68
|
-
if groupKey ~= nil then
|
69
|
-
if rateLimiterKey ~= KEYS[6] then
|
70
|
-
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
71
|
-
end
|
72
|
-
else
|
73
|
-
jobCounter = tonumber(rcall("INCR", rateLimiterKey))
|
74
|
-
end
|
75
|
-
|
76
|
-
-- check if rate limit hit
|
77
|
-
if jobCounter ~= nil and jobCounter > maxJobs then
|
78
|
-
local exceedingJobs = jobCounter - maxJobs
|
79
|
-
local expireTime = tonumber(rcall("PTTL", rateLimiterKey))
|
80
|
-
local delay = expireTime + ((exceedingJobs - 1) * ARGV[7]) / maxJobs;
|
81
|
-
local timestamp = delay + tonumber(ARGV[4])
|
82
|
-
|
83
|
-
-- put job into delayed queue
|
84
|
-
rcall("ZADD", KEYS[7], timestamp * 0x1000 + bit.band(jobCounter, 0xfff), jobId);
|
85
|
-
rcall("XADD", KEYS[4], "*", "event", "delayed", "jobId", jobId, "delay", timestamp);
|
86
|
-
rcall("XADD", KEYS[8], "*", "nextTimestamp", timestamp);
|
87
|
-
-- remove from active queue
|
88
|
-
rcall("LREM", KEYS[2], 1, jobId)
|
89
|
-
|
90
|
-
-- Return when we can process more jobs
|
91
|
-
return expireTime
|
92
|
-
else
|
93
|
-
if jobCounter == 1 then
|
94
|
-
rcall("PEXPIRE", rateLimiterKey, ARGV[7])
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
local jobKey = ARGV[1] .. jobId
|
100
|
-
local lockKey = jobKey .. ':lock'
|
101
|
-
|
102
|
-
-- get a lock
|
103
|
-
rcall("SET", lockKey, ARGV[2], "PX", ARGV[3])
|
104
|
-
|
105
|
-
moveJobFromWaitToActive(KEYS[1], KEYS[3], KEYS[4], jobKey, jobId, ARGV[4])
|
106
|
-
|
107
|
-
return {rcall("HGETALL", jobKey), jobId} -- get job data
|
53
|
+
return moveJobFromWaitToActive(KEYS, ARGV[1], jobId, ARGV[2], opts)
|
108
54
|
end
|
@@ -5,33 +5,42 @@
|
|
5
5
|
and the lock must be released in this script.
|
6
6
|
|
7
7
|
Input:
|
8
|
-
KEYS[1]
|
9
|
-
KEYS[2]
|
10
|
-
KEYS[3]
|
11
|
-
KEYS[4]
|
12
|
-
KEYS[5]
|
13
|
-
|
14
|
-
|
15
|
-
KEYS[
|
16
|
-
KEYS[
|
8
|
+
KEYS[1] wait key
|
9
|
+
KEYS[2] active key
|
10
|
+
KEYS[3] priority key
|
11
|
+
KEYS[4] event stream key
|
12
|
+
KEYS[5] stalled key
|
13
|
+
|
14
|
+
-- Rate limiting
|
15
|
+
KEYS[6] rate limiter key
|
16
|
+
KEYS[7] delayed key
|
17
|
+
|
18
|
+
-- Delay events
|
19
|
+
KEYS[8] delay stream key
|
20
|
+
|
21
|
+
KEYS[9] completed/failed key
|
22
|
+
KEYS[10] jobId key
|
23
|
+
KEYS[11] meta key
|
24
|
+
KEYS[12] metrics key
|
17
25
|
|
18
26
|
ARGV[1] jobId
|
19
27
|
ARGV[2] timestamp
|
20
28
|
ARGV[3] msg property
|
21
29
|
ARGV[4] return value / failed reason
|
22
30
|
ARGV[5] target (completed/failed)
|
23
|
-
ARGV[6]
|
24
|
-
ARGV[7]
|
25
|
-
ARGV[8]
|
26
|
-
ARGV[9]
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
ARGV[6] event data (? maybe just send jobid).
|
32
|
+
ARGV[7] fetch next?
|
33
|
+
ARGV[8] keys prefix
|
34
|
+
ARGV[9] opts
|
35
|
+
|
36
|
+
opts - token - lock token
|
37
|
+
opts - keepJobs
|
38
|
+
opts - lockDuration - lock duration in milliseconds
|
39
|
+
opts - parent - parent data
|
40
|
+
opts - parentKey
|
41
|
+
opts - attempts max attempts
|
42
|
+
opts - attemptsMade
|
43
|
+
opts - maxMetricsSize
|
35
44
|
|
36
45
|
Output:
|
37
46
|
0 OK
|
@@ -52,13 +61,25 @@
|
|
52
61
|
--- @include "includes/updateParentDepsIfNeeded"
|
53
62
|
--- @include "includes/collectMetrics"
|
54
63
|
|
55
|
-
local jobIdKey = KEYS[
|
64
|
+
local jobIdKey = KEYS[10]
|
56
65
|
if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
57
|
-
|
66
|
+
local opts = cmsgpack.unpack(ARGV[9])
|
67
|
+
|
68
|
+
local token = opts['token']
|
69
|
+
local parentId = opts['parent'] and opts['parent']['id'] or ""
|
70
|
+
local parentQueueKey = opts['parent'] and opts['parent']['queue'] or ""
|
71
|
+
local parentKey = opts['parentKey'] or ""
|
72
|
+
local attempts = opts['attempts']
|
73
|
+
local attemptsMade = opts['attemptsMade']
|
74
|
+
local maxMetricsSize = opts['maxMetricsSize']
|
75
|
+
local maxCount = opts['keepJobs']['count']
|
76
|
+
local maxAge = opts['keepJobs']['age']
|
77
|
+
|
78
|
+
if token ~= "0" then
|
58
79
|
local lockKey = jobIdKey .. ':lock'
|
59
|
-
if rcall("GET", lockKey) ==
|
80
|
+
if rcall("GET", lockKey) == token then
|
60
81
|
rcall("DEL", lockKey)
|
61
|
-
rcall("SREM", KEYS[
|
82
|
+
rcall("SREM", KEYS[5], ARGV[1])
|
62
83
|
else
|
63
84
|
return -2
|
64
85
|
end
|
@@ -72,12 +93,12 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
72
93
|
local timestamp = ARGV[2]
|
73
94
|
|
74
95
|
-- Remove from active list (if not active we shall return error)
|
75
|
-
local numRemovedElements = rcall("LREM", KEYS[
|
96
|
+
local numRemovedElements = rcall("LREM", KEYS[2], -1, jobId)
|
76
97
|
|
77
98
|
if (numRemovedElements < 1) then return -3 end
|
78
99
|
|
79
100
|
-- Trim events before emiting them to avoid trimming events emitted in this script
|
80
|
-
trimEvents(KEYS[
|
101
|
+
trimEvents(KEYS[11], KEYS[4])
|
81
102
|
|
82
103
|
-- If job has a parent we need to
|
83
104
|
-- 1) remove this job id from parents dependencies
|
@@ -85,11 +106,9 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
85
106
|
-- 3) push the results into parent "results" list
|
86
107
|
-- 4) if parent's dependencies is empty, then move parent to "wait/paused". Note it may be a different queue!.
|
87
108
|
-- NOTE: Priorities not supported yet for parent jobs.
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
parentId = getJobIdFromKey(ARGV[14])
|
92
|
-
parentQueueKey = getJobKeyPrefix(ARGV[14], ":" .. parentId)
|
109
|
+
if parentId == "" and parentKey ~= "" then
|
110
|
+
parentId = getJobIdFromKey(parentKey)
|
111
|
+
parentQueueKey = getJobKeyPrefix(parentKey, ":" .. parentId)
|
93
112
|
end
|
94
113
|
if parentId ~= "" and ARGV[5] == "completed" then
|
95
114
|
local parentKey = parentQueueKey .. ":" .. parentId
|
@@ -102,17 +121,14 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
102
121
|
end
|
103
122
|
|
104
123
|
-- Remove job?
|
105
|
-
local keepJobs = cmsgpack.unpack(ARGV[6])
|
106
|
-
local maxCount = keepJobs['count']
|
107
|
-
local maxAge = keepJobs['age']
|
108
124
|
if maxCount ~= 0 then
|
109
|
-
local targetSet = KEYS[
|
125
|
+
local targetSet = KEYS[9]
|
110
126
|
-- Add to complete/failed set
|
111
127
|
rcall("ZADD", targetSet, timestamp, jobId)
|
112
128
|
rcall("HMSET", jobIdKey, ARGV[3], ARGV[4], "finishedOn", timestamp) -- "returnvalue" / "failedReason" and "finishedOn"
|
113
129
|
|
114
130
|
-- Remove old jobs?
|
115
|
-
local prefix = ARGV[
|
131
|
+
local prefix = ARGV[8]
|
116
132
|
|
117
133
|
if maxAge ~= nil then
|
118
134
|
local start = timestamp - maxAge * 1000
|
@@ -135,38 +151,28 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
135
151
|
rcall("DEL", jobIdKey, jobIdKey .. ':logs', jobIdKey .. ':processed')
|
136
152
|
end
|
137
153
|
|
138
|
-
rcall("XADD", KEYS[
|
154
|
+
rcall("XADD", KEYS[4], "*", "event", ARGV[5], "jobId", jobId, ARGV[3],
|
139
155
|
ARGV[4])
|
140
156
|
|
141
157
|
if ARGV[5] == "failed" then
|
142
|
-
if tonumber(
|
143
|
-
rcall("XADD", KEYS[
|
144
|
-
jobId, "attemptsMade",
|
158
|
+
if tonumber(attemptsMade) >= tonumber(attempts) then
|
159
|
+
rcall("XADD", KEYS[4], "*", "event", "retries-exhausted", "jobId",
|
160
|
+
jobId, "attemptsMade", attemptsMade)
|
145
161
|
end
|
146
162
|
end
|
147
163
|
|
148
164
|
-- Collect metrics
|
149
|
-
if
|
150
|
-
collectMetrics(KEYS[
|
165
|
+
if maxMetricsSize ~= "" then
|
166
|
+
collectMetrics(KEYS[12], KEYS[12]..':data', maxMetricsSize, timestamp)
|
151
167
|
end
|
152
168
|
|
153
169
|
-- Try to get next job to avoid an extra roundtrip if the queue is not closing,
|
154
170
|
-- and not rate limited.
|
155
|
-
if (ARGV[
|
171
|
+
if (ARGV[7] == "1") then
|
156
172
|
-- move from wait to active
|
157
|
-
local jobId = rcall("RPOPLPUSH", KEYS[
|
173
|
+
local jobId = rcall("RPOPLPUSH", KEYS[1], KEYS[2])
|
158
174
|
if jobId then
|
159
|
-
|
160
|
-
local lockKey = jobKey .. ':lock'
|
161
|
-
|
162
|
-
-- get a lock
|
163
|
-
if ARGV[10] ~= "0" then
|
164
|
-
rcall("SET", lockKey, ARGV[10], "PX", ARGV[11])
|
165
|
-
end
|
166
|
-
|
167
|
-
moveJobFromWaitToActive(KEYS[4], KEYS[5], KEYS[6], jobKey, jobId, timestamp)
|
168
|
-
|
169
|
-
return {rcall("HGETALL", jobKey), jobId} -- get job data
|
175
|
+
return moveJobFromWaitToActive(KEYS, ARGV[8], jobId, timestamp, opts)
|
170
176
|
end
|
171
177
|
end
|
172
178
|
|