bullmq 5.1.0 → 5.1.2
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/queue.js +1 -1
- package/dist/cjs/classes/redis-connection.js +11 -3
- package/dist/cjs/classes/redis-connection.js.map +1 -1
- package/dist/cjs/classes/scripts.js +18 -14
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/classes/worker.js +4 -2
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/commands/addDelayedJob-6.lua +2 -3
- package/dist/cjs/commands/addStandardJob-7.lua +1 -1
- package/dist/cjs/commands/includes/getJobsInZset.lua +6 -4
- package/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +1 -1
- package/dist/cjs/commands/includes/getOrSetMaxEvents.lua +3 -1
- package/dist/cjs/commands/includes/getRateLimitTTL.lua +3 -0
- package/dist/cjs/commands/includes/trimEvents.lua +4 -1
- package/dist/cjs/commands/includes/updateExistingJobsParent.lua +4 -2
- package/dist/cjs/commands/moveJobsToWait-6.lua +2 -1
- package/dist/cjs/commands/moveToDelayed-7.lua +2 -1
- package/dist/cjs/commands/removeJob-1.lua +2 -1
- package/dist/cjs/commands/retryJob-10.lua +2 -1
- package/dist/cjs/commands/updateProgress-3.lua +4 -1
- package/dist/cjs/scripts/addDelayedJob-6.js +44 -40
- package/dist/cjs/scripts/addDelayedJob-6.js.map +1 -1
- package/dist/cjs/scripts/addParentJob-4.js +11 -7
- package/dist/cjs/scripts/addParentJob-4.js.map +1 -1
- package/dist/cjs/scripts/addPrioritizedJob-7.js +11 -7
- package/dist/cjs/scripts/addPrioritizedJob-7.js.map +1 -1
- package/dist/cjs/scripts/addStandardJob-7.js +11 -7
- package/dist/cjs/scripts/addStandardJob-7.js.map +1 -1
- package/dist/cjs/scripts/cleanJobsInSet-2.js +6 -4
- package/dist/cjs/scripts/cleanJobsInSet-2.js.map +1 -1
- package/dist/cjs/scripts/moveJobsToWait-6.js +12 -1
- package/dist/cjs/scripts/moveJobsToWait-6.js.map +1 -1
- package/dist/cjs/scripts/moveStalledJobsToWait-8.js +13 -1
- package/dist/cjs/scripts/moveStalledJobsToWait-8.js.map +1 -1
- package/dist/cjs/scripts/moveToActive-11.js +4 -1
- package/dist/cjs/scripts/moveToActive-11.js.map +1 -1
- package/dist/cjs/scripts/moveToDelayed-7.js +13 -2
- package/dist/cjs/scripts/moveToDelayed-7.js.map +1 -1
- package/dist/cjs/scripts/moveToFinished-14.js +17 -2
- package/dist/cjs/scripts/moveToFinished-14.js.map +1 -1
- package/dist/cjs/scripts/pause-7.js +1 -1
- package/dist/cjs/scripts/removeJob-1.js +12 -1
- package/dist/cjs/scripts/removeJob-1.js.map +1 -1
- package/dist/cjs/scripts/retryJob-10.js +12 -1
- package/dist/cjs/scripts/retryJob-10.js.map +1 -1
- package/dist/cjs/scripts/updateProgress-3.js +13 -1
- package/dist/cjs/scripts/updateProgress-3.js.map +1 -1
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/esm/classes/queue.d.ts +1 -1
- package/dist/esm/classes/queue.js +1 -1
- package/dist/esm/classes/redis-connection.d.ts +1 -0
- package/dist/esm/classes/redis-connection.js +11 -3
- package/dist/esm/classes/redis-connection.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +4 -3
- package/dist/esm/classes/scripts.js +18 -14
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/classes/worker.js +4 -2
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/commands/addDelayedJob-6.lua +2 -3
- package/dist/esm/commands/addStandardJob-7.lua +1 -1
- package/dist/esm/commands/includes/getJobsInZset.lua +6 -4
- package/dist/esm/commands/includes/getNextDelayedTimestamp.lua +1 -1
- package/dist/esm/commands/includes/getOrSetMaxEvents.lua +3 -1
- package/dist/esm/commands/includes/getRateLimitTTL.lua +3 -0
- package/dist/esm/commands/includes/trimEvents.lua +4 -1
- package/dist/esm/commands/includes/updateExistingJobsParent.lua +4 -2
- package/dist/esm/commands/moveJobsToWait-6.lua +2 -1
- package/dist/esm/commands/moveToDelayed-7.lua +2 -1
- package/dist/esm/commands/removeJob-1.lua +2 -1
- package/dist/esm/commands/retryJob-10.lua +2 -1
- package/dist/esm/commands/updateProgress-3.lua +4 -1
- package/dist/esm/scripts/addDelayedJob-6.js +44 -40
- package/dist/esm/scripts/addDelayedJob-6.js.map +1 -1
- package/dist/esm/scripts/addParentJob-4.js +11 -7
- package/dist/esm/scripts/addParentJob-4.js.map +1 -1
- package/dist/esm/scripts/addPrioritizedJob-7.js +11 -7
- package/dist/esm/scripts/addPrioritizedJob-7.js.map +1 -1
- package/dist/esm/scripts/addStandardJob-7.js +11 -7
- package/dist/esm/scripts/addStandardJob-7.js.map +1 -1
- package/dist/esm/scripts/cleanJobsInSet-2.js +6 -4
- package/dist/esm/scripts/cleanJobsInSet-2.js.map +1 -1
- package/dist/esm/scripts/moveJobsToWait-6.js +12 -1
- package/dist/esm/scripts/moveJobsToWait-6.js.map +1 -1
- package/dist/esm/scripts/moveStalledJobsToWait-8.js +13 -1
- package/dist/esm/scripts/moveStalledJobsToWait-8.js.map +1 -1
- package/dist/esm/scripts/moveToActive-11.js +4 -1
- package/dist/esm/scripts/moveToActive-11.js.map +1 -1
- package/dist/esm/scripts/moveToDelayed-7.js +13 -2
- package/dist/esm/scripts/moveToDelayed-7.js.map +1 -1
- package/dist/esm/scripts/moveToFinished-14.js +17 -2
- package/dist/esm/scripts/moveToFinished-14.js.map +1 -1
- package/dist/esm/scripts/pause-7.js +1 -1
- package/dist/esm/scripts/removeJob-1.js +12 -1
- package/dist/esm/scripts/removeJob-1.js.map +1 -1
- package/dist/esm/scripts/retryJob-10.js +12 -1
- package/dist/esm/scripts/retryJob-10.js.map +1 -1
- package/dist/esm/scripts/updateProgress-3.js +13 -1
- package/dist/esm/scripts/updateProgress-3.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
@@ -87,6 +87,13 @@ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, pr
|
|
87
87
|
rcall("ZADD", markerKey, 0, "0")
|
88
88
|
end
|
89
89
|
end
|
90
|
+
--[[
|
91
|
+
This function is used to update the parent's dependencies if the job
|
92
|
+
is already completed and about to be ignored. The parent must get its
|
93
|
+
dependencies updated to avoid the parent job being stuck forever in
|
94
|
+
the waiting-children state.
|
95
|
+
]]
|
96
|
+
-- Includes
|
90
97
|
--[[
|
91
98
|
Validate and move or add dependencies to parent.
|
92
99
|
]]
|
@@ -101,7 +108,7 @@ end
|
|
101
108
|
-- Includes
|
102
109
|
--[[
|
103
110
|
Function to return the next delayed job timestamp.
|
104
|
-
]]
|
111
|
+
]]
|
105
112
|
local function getNextDelayedTimestamp(delayedKey)
|
106
113
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
107
114
|
if #result then
|
@@ -176,12 +183,6 @@ local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDepende
|
|
176
183
|
rcall("HSET", processedSet, jobIdKey, returnvalue)
|
177
184
|
moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
|
178
185
|
end
|
179
|
-
--[[
|
180
|
-
This function is used to update the parent's dependencies if the job
|
181
|
-
is already completed and about to be ignored. The parent must get its
|
182
|
-
dependencies updated to avoid the parent job being stuck forever in
|
183
|
-
the waiting-children state.
|
184
|
-
]]
|
185
186
|
local function updateExistingJobsParent(parentKey, parent, parentData,
|
186
187
|
parentDependenciesKey, completedKey,
|
187
188
|
jobIdKey, jobId, timestamp)
|
@@ -199,6 +200,9 @@ local function updateExistingJobsParent(parentKey, parent, parentData,
|
|
199
200
|
rcall("HMSET", jobIdKey, "parentKey", parentKey, "parent", parentData)
|
200
201
|
end
|
201
202
|
end
|
203
|
+
--[[
|
204
|
+
Function to get max events value or set by default 10000.
|
205
|
+
]]
|
202
206
|
local function getOrSetMaxEvents(metaKey)
|
203
207
|
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
204
208
|
if not maxEvents then
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addPrioritizedJob-7.js","sourceRoot":"","sources":["../../../src/scripts/addPrioritizedJob-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addPrioritizedJob-7.js","sourceRoot":"","sources":["../../../src/scripts/addPrioritizedJob-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Pf,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -73,6 +73,13 @@ local function storeJob(eventsKey, jobIdKey, jobId, name, data, opts, timestamp,
|
|
73
73
|
rcall("XADD", eventsKey, "*", "event", "added", "jobId", jobId, "name", name)
|
74
74
|
return delay, priority
|
75
75
|
end
|
76
|
+
--[[
|
77
|
+
This function is used to update the parent's dependencies if the job
|
78
|
+
is already completed and about to be ignored. The parent must get its
|
79
|
+
dependencies updated to avoid the parent job being stuck forever in
|
80
|
+
the waiting-children state.
|
81
|
+
]]
|
82
|
+
-- Includes
|
76
83
|
--[[
|
77
84
|
Validate and move or add dependencies to parent.
|
78
85
|
]]
|
@@ -87,7 +94,7 @@ end
|
|
87
94
|
-- Includes
|
88
95
|
--[[
|
89
96
|
Function to return the next delayed job timestamp.
|
90
|
-
]]
|
97
|
+
]]
|
91
98
|
local function getNextDelayedTimestamp(delayedKey)
|
92
99
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
93
100
|
if #result then
|
@@ -180,12 +187,6 @@ local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDepende
|
|
180
187
|
rcall("HSET", processedSet, jobIdKey, returnvalue)
|
181
188
|
moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
|
182
189
|
end
|
183
|
-
--[[
|
184
|
-
This function is used to update the parent's dependencies if the job
|
185
|
-
is already completed and about to be ignored. The parent must get its
|
186
|
-
dependencies updated to avoid the parent job being stuck forever in
|
187
|
-
the waiting-children state.
|
188
|
-
]]
|
189
190
|
local function updateExistingJobsParent(parentKey, parent, parentData,
|
190
191
|
parentDependenciesKey, completedKey,
|
191
192
|
jobIdKey, jobId, timestamp)
|
@@ -203,6 +204,9 @@ local function updateExistingJobsParent(parentKey, parent, parentData,
|
|
203
204
|
rcall("HMSET", jobIdKey, "parentKey", parentKey, "parent", parentData)
|
204
205
|
end
|
205
206
|
end
|
207
|
+
--[[
|
208
|
+
Function to get max events value or set by default 10000.
|
209
|
+
]]
|
206
210
|
local function getOrSetMaxEvents(metaKey)
|
207
211
|
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
208
212
|
if not maxEvents then
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addStandardJob-7.js","sourceRoot":"","sources":["../../../src/scripts/addStandardJob-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addStandardJob-7.js","sourceRoot":"","sources":["../../../src/scripts/addStandardJob-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoQf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -197,10 +197,12 @@ local function batches(n, batchSize)
|
|
197
197
|
end
|
198
198
|
end
|
199
199
|
end
|
200
|
-
--
|
201
|
-
|
202
|
-
|
203
|
-
|
200
|
+
--[[
|
201
|
+
We use ZRANGEBYSCORE to make the case where we're deleting a limited number
|
202
|
+
of items in a sorted set only run a single iteration. If we simply used
|
203
|
+
ZRANGE, we may take a long time traversing through jobs that are within the
|
204
|
+
grace period.
|
205
|
+
]]
|
204
206
|
local function getJobsInZset(zsetKey, rangeEnd, limit)
|
205
207
|
if limit > 0 then
|
206
208
|
return rcall("ZRANGEBYSCORE", zsetKey, 0, rangeEnd, "LIMIT", 0, limit)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cleanJobsInSet-2.js","sourceRoot":"","sources":["../../../src/scripts/cleanJobsInSet-2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"cleanJobsInSet-2.js","sourceRoot":"","sources":["../../../src/scripts/cleanJobsInSet-2.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuQf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -35,6 +35,17 @@ local function batches(n, batchSize)
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
38
|
+
--[[
|
39
|
+
Function to get max events value or set by default 10000.
|
40
|
+
]]
|
41
|
+
local function getOrSetMaxEvents(metaKey)
|
42
|
+
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
43
|
+
if not maxEvents then
|
44
|
+
maxEvents = 10000
|
45
|
+
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
46
|
+
end
|
47
|
+
return maxEvents
|
48
|
+
end
|
38
49
|
--[[
|
39
50
|
Function to check for the meta.paused key to decide if we are paused or not
|
40
51
|
(since an empty list and !EXISTS are not really the same).
|
@@ -61,7 +72,7 @@ if (#jobs > 0) then
|
|
61
72
|
rcall("HDEL", jobKey, "finishedOn", "processedOn", "returnvalue")
|
62
73
|
end
|
63
74
|
end
|
64
|
-
local maxEvents =
|
75
|
+
local maxEvents = getOrSetMaxEvents(metaKey)
|
65
76
|
for i, key in ipairs(jobs) do
|
66
77
|
-- Emit waiting event
|
67
78
|
rcall("XADD", KEYS[2], "MAXLEN", "~", maxEvents, "*", "event",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moveJobsToWait-6.js","sourceRoot":"","sources":["../../../src/scripts/moveJobsToWait-6.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"moveJobsToWait-6.js","sourceRoot":"","sources":["../../../src/scripts/moveJobsToWait-6.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -177,8 +177,20 @@ end
|
|
177
177
|
--[[
|
178
178
|
Function to trim events, default 10000.
|
179
179
|
]]
|
180
|
+
-- Includes
|
181
|
+
--[[
|
182
|
+
Function to get max events value or set by default 10000.
|
183
|
+
]]
|
184
|
+
local function getOrSetMaxEvents(metaKey)
|
185
|
+
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
186
|
+
if not maxEvents then
|
187
|
+
maxEvents = 10000
|
188
|
+
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
189
|
+
end
|
190
|
+
return maxEvents
|
191
|
+
end
|
180
192
|
local function trimEvents(metaKey, eventStreamKey)
|
181
|
-
local maxEvents =
|
193
|
+
local maxEvents = getOrSetMaxEvents(metaKey)
|
182
194
|
if maxEvents ~= false then
|
183
195
|
rcall("XTRIM", eventStreamKey, "MAXLEN", "~", maxEvents)
|
184
196
|
else
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moveStalledJobsToWait-8.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-8.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"moveStalledJobsToWait-8.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-8.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoSf,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,uBAAuB;IAC7B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -36,7 +36,7 @@ local opts = cmsgpack.unpack(ARGV[3])
|
|
36
36
|
-- Includes
|
37
37
|
--[[
|
38
38
|
Function to return the next delayed job timestamp.
|
39
|
-
]]
|
39
|
+
]]
|
40
40
|
local function getNextDelayedTimestamp(delayedKey)
|
41
41
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
42
42
|
if #result then
|
@@ -47,6 +47,9 @@ local function getNextDelayedTimestamp(delayedKey)
|
|
47
47
|
return nextTimestamp
|
48
48
|
end
|
49
49
|
end
|
50
|
+
--[[
|
51
|
+
Function to get current rate limit ttl.
|
52
|
+
]]
|
50
53
|
local function getRateLimitTTL(maxJobs, rateLimiterKey)
|
51
54
|
if maxJobs and maxJobs <= tonumber(rcall("GET", rateLimiterKey) or 0) then
|
52
55
|
local pttl = rcall("PTTL", rateLimiterKey)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moveToActive-11.js","sourceRoot":"","sources":["../../../src/scripts/moveToActive-11.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"moveToActive-11.js","sourceRoot":"","sources":["../../../src/scripts/moveToActive-11.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoOf,CAAC;AACF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,cAAc;IACpB,OAAO;IACP,IAAI,EAAE,EAAE;CACT,CAAC"}
|
@@ -30,7 +30,7 @@ local rcall = redis.call
|
|
30
30
|
-- Includes
|
31
31
|
--[[
|
32
32
|
Function to return the next delayed job timestamp.
|
33
|
-
]]
|
33
|
+
]]
|
34
34
|
local function getNextDelayedTimestamp(delayedKey)
|
35
35
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
36
36
|
if #result then
|
@@ -49,6 +49,17 @@ local function addDelayMarkerIfNeeded(markerKey, delayedKey)
|
|
49
49
|
rcall("ZADD", markerKey, nextTimestamp, "0")
|
50
50
|
end
|
51
51
|
end
|
52
|
+
--[[
|
53
|
+
Function to get max events value or set by default 10000.
|
54
|
+
]]
|
55
|
+
local function getOrSetMaxEvents(metaKey)
|
56
|
+
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
57
|
+
if not maxEvents then
|
58
|
+
maxEvents = 10000
|
59
|
+
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
60
|
+
end
|
61
|
+
return maxEvents
|
62
|
+
end
|
52
63
|
--[[
|
53
64
|
Function to check for the meta.paused key to decide if we are paused or not
|
54
65
|
(since an empty list and !EXISTS are not really the same).
|
@@ -77,7 +88,7 @@ if rcall("EXISTS", jobKey) == 1 then
|
|
77
88
|
rcall("HINCRBY", jobKey, "atm", 1)
|
78
89
|
end
|
79
90
|
rcall("HSET", jobKey, "delay", ARGV[6])
|
80
|
-
local maxEvents =
|
91
|
+
local maxEvents = getOrSetMaxEvents(metaKey)
|
81
92
|
rcall("ZADD", delayedKey, score, jobId)
|
82
93
|
rcall("XADD", KEYS[6], "MAXLEN", "~", maxEvents, "*", "event", "delayed",
|
83
94
|
"jobId", jobId, "delay", delayedTimestamp)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moveToDelayed-7.js","sourceRoot":"","sources":["../../../src/scripts/moveToDelayed-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"moveToDelayed-7.js","sourceRoot":"","sources":["../../../src/scripts/moveToDelayed-7.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwGf,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,eAAe;IACrB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -102,7 +102,7 @@ local function collectMetrics(metaKey, dataPointsList, maxDataPoints,
|
|
102
102
|
end
|
103
103
|
--[[
|
104
104
|
Function to return the next delayed job timestamp.
|
105
|
-
]]
|
105
|
+
]]
|
106
106
|
local function getNextDelayedTimestamp(delayedKey)
|
107
107
|
local result = rcall("ZRANGE", delayedKey, 0, 0, "WITHSCORES")
|
108
108
|
if #result then
|
@@ -454,8 +454,20 @@ end
|
|
454
454
|
--[[
|
455
455
|
Function to trim events, default 10000.
|
456
456
|
]]
|
457
|
+
-- Includes
|
458
|
+
--[[
|
459
|
+
Function to get max events value or set by default 10000.
|
460
|
+
]]
|
461
|
+
local function getOrSetMaxEvents(metaKey)
|
462
|
+
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
463
|
+
if not maxEvents then
|
464
|
+
maxEvents = 10000
|
465
|
+
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
466
|
+
end
|
467
|
+
return maxEvents
|
468
|
+
end
|
457
469
|
local function trimEvents(metaKey, eventStreamKey)
|
458
|
-
local maxEvents =
|
470
|
+
local maxEvents = getOrSetMaxEvents(metaKey)
|
459
471
|
if maxEvents ~= false then
|
460
472
|
rcall("XTRIM", eventStreamKey, "MAXLEN", "~", maxEvents)
|
461
473
|
else
|
@@ -472,6 +484,9 @@ local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDepende
|
|
472
484
|
rcall("HSET", processedSet, jobIdKey, returnvalue)
|
473
485
|
moveParentToWaitIfNeeded(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
|
474
486
|
end
|
487
|
+
--[[
|
488
|
+
Function to get current rate limit ttl.
|
489
|
+
]]
|
475
490
|
local function getRateLimitTTL(maxJobs, rateLimiterKey)
|
476
491
|
if maxJobs and maxJobs <= tonumber(rcall("GET", rateLimiterKey) or 0) then
|
477
492
|
local pttl = rcall("PTTL", rateLimiterKey)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moveToFinished-14.js","sourceRoot":"","sources":["../../../src/scripts/moveToFinished-14.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"moveToFinished-14.js","sourceRoot":"","sources":["../../../src/scripts/moveToFinished-14.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgqBf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,EAAE;CACT,CAAC"}
|
@@ -20,6 +20,17 @@ end
|
|
20
20
|
local getJobKeyPrefix = function (jobKey, jobId)
|
21
21
|
return string.sub(jobKey, 0, #jobKey - #jobId)
|
22
22
|
end
|
23
|
+
--[[
|
24
|
+
Function to get max events value or set by default 10000.
|
25
|
+
]]
|
26
|
+
local function getOrSetMaxEvents(metaKey)
|
27
|
+
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
28
|
+
if not maxEvents then
|
29
|
+
maxEvents = 10000
|
30
|
+
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
31
|
+
end
|
32
|
+
return maxEvents
|
33
|
+
end
|
23
34
|
--[[
|
24
35
|
Function to recursively check if there are no locks
|
25
36
|
on the jobs to be removed.
|
@@ -188,7 +199,7 @@ local function removeJob( prefix, jobId, parentKey, removeChildren)
|
|
188
199
|
end
|
189
200
|
local prev = removeJobFromAnyState(prefix, jobId)
|
190
201
|
if rcall("DEL", jobKey, jobKey .. ":logs", jobKey .. ":dependencies", jobKey .. ":processed") > 0 then
|
191
|
-
local maxEvents =
|
202
|
+
local maxEvents = getOrSetMaxEvents(prefix .. "meta")
|
192
203
|
rcall("XADD", prefix .. "events", "MAXLEN", "~", maxEvents, "*", "event", "removed",
|
193
204
|
"jobId", jobId, "prev", prev)
|
194
205
|
end
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"removeJob-1.js","sourceRoot":"","sources":["../../../src/scripts/removeJob-1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"removeJob-1.js","sourceRoot":"","sources":["../../../src/scripts/removeJob-1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoNf,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,WAAW;IACjB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -36,6 +36,17 @@ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, pr
|
|
36
36
|
rcall("ZADD", markerKey, 0, "0")
|
37
37
|
end
|
38
38
|
end
|
39
|
+
--[[
|
40
|
+
Function to get max events value or set by default 10000.
|
41
|
+
]]
|
42
|
+
local function getOrSetMaxEvents(metaKey)
|
43
|
+
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
44
|
+
if not maxEvents then
|
45
|
+
maxEvents = 10000
|
46
|
+
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
47
|
+
end
|
48
|
+
return maxEvents
|
49
|
+
end
|
39
50
|
--[[
|
40
51
|
Function to check for the meta.paused key to decide if we are paused or not
|
41
52
|
(since an empty list and !EXISTS are not really the same).
|
@@ -104,7 +115,7 @@ if rcall("EXISTS", KEYS[4]) == 1 then
|
|
104
115
|
addJobWithPriority(markerKey, KEYS[8], priority, ARGV[4], KEYS[9], paused)
|
105
116
|
end
|
106
117
|
rcall("HINCRBY", KEYS[4], "atm", 1)
|
107
|
-
local maxEvents =
|
118
|
+
local maxEvents = getOrSetMaxEvents(KEYS[5])
|
108
119
|
-- Emit waiting event
|
109
120
|
rcall("XADD", KEYS[6], "MAXLEN", "~", maxEvents, "*", "event", "waiting",
|
110
121
|
"jobId", ARGV[4], "prev", "failed")
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"retryJob-10.js","sourceRoot":"","sources":["../../../src/scripts/retryJob-10.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"retryJob-10.js","sourceRoot":"","sources":["../../../src/scripts/retryJob-10.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Hf,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,UAAU;IAChB,OAAO;IACP,IAAI,EAAE,EAAE;CACT,CAAC"}
|
@@ -13,8 +13,20 @@ const content = `--[[
|
|
13
13
|
progress(jobId, progress)
|
14
14
|
]]
|
15
15
|
local rcall = redis.call
|
16
|
+
-- Includes
|
17
|
+
--[[
|
18
|
+
Function to get max events value or set by default 10000.
|
19
|
+
]]
|
20
|
+
local function getOrSetMaxEvents(metaKey)
|
21
|
+
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
22
|
+
if not maxEvents then
|
23
|
+
maxEvents = 10000
|
24
|
+
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
25
|
+
end
|
26
|
+
return maxEvents
|
27
|
+
end
|
16
28
|
if rcall("EXISTS", KEYS[1]) == 1 then -- // Make sure job exists
|
17
|
-
local maxEvents =
|
29
|
+
local maxEvents = getOrSetMaxEvents(KEYS[3])
|
18
30
|
rcall("HSET", KEYS[1], "progress", ARGV[2])
|
19
31
|
rcall("XADD", KEYS[2], "MAXLEN", "~", maxEvents, "*", "event", "progress",
|
20
32
|
"jobId", ARGV[1], "data", ARGV[2]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateProgress-3.js","sourceRoot":"","sources":["../../../src/scripts/updateProgress-3.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"updateProgress-3.js","sourceRoot":"","sources":["../../../src/scripts/updateProgress-3.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|