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