bullmq 5.41.8 → 5.42.0
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/job-scheduler.js +14 -18
- package/dist/cjs/classes/job-scheduler.js.map +1 -1
- package/dist/cjs/classes/job.js +20 -13
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/scripts.js +33 -3
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/classes/worker.js +4 -8
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/commands/addJobScheduler-10.lua +9 -36
- package/dist/cjs/commands/includes/addJobFromScheduler.lua +41 -0
- package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +11 -1
- package/dist/cjs/commands/includes/removeJobKeys.lua +2 -2
- package/dist/cjs/commands/includes/storeJobScheduler.lua +1 -1
- package/dist/cjs/commands/moveStalledJobsToWait-9.lua +5 -0
- package/dist/cjs/commands/moveToFinished-14.lua +2 -0
- package/dist/cjs/commands/moveToWaitingChildren-8.lua +133 -0
- package/dist/cjs/commands/removeJob-3.lua +10 -0
- package/dist/{esm/commands/updateJobScheduler-7.lua → cjs/commands/updateJobScheduler-11.lua} +28 -21
- package/dist/cjs/scripts/addJobScheduler-10.js +80 -70
- package/dist/cjs/scripts/addJobScheduler-10.js.map +1 -1
- package/dist/cjs/scripts/addRepeatableJob-2.js +2 -2
- package/dist/cjs/scripts/cleanJobsInSet-3.js +2 -2
- package/dist/cjs/scripts/drain-5.js +2 -2
- package/dist/cjs/scripts/index.js +2 -2
- package/dist/cjs/scripts/index.js.map +1 -1
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js +17 -3
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js.map +1 -1
- package/dist/cjs/scripts/moveToFinished-14.js +14 -3
- package/dist/cjs/scripts/moveToFinished-14.js.map +1 -1
- package/dist/cjs/scripts/moveToWaitingChildren-8.js +549 -0
- package/dist/cjs/scripts/moveToWaitingChildren-8.js.map +1 -0
- package/dist/cjs/scripts/obliterate-2.js +2 -2
- package/dist/cjs/scripts/removeChildDependency-1.js +2 -2
- package/dist/cjs/scripts/removeJob-3.js +10 -2
- package/dist/cjs/scripts/removeJob-3.js.map +1 -1
- package/dist/cjs/scripts/removeJobScheduler-3.js +2 -2
- package/dist/cjs/scripts/removeRepeatable-3.js +2 -2
- package/dist/cjs/scripts/updateJobScheduler-11.js +246 -0
- package/dist/cjs/scripts/updateJobScheduler-11.js.map +1 -0
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/classes/job-scheduler.js +14 -18
- package/dist/esm/classes/job-scheduler.js.map +1 -1
- package/dist/esm/classes/job.js +20 -13
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +1 -1
- package/dist/esm/classes/scripts.js +33 -3
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/classes/worker.js +4 -8
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/commands/addJobScheduler-10.lua +9 -36
- package/dist/esm/commands/includes/addJobFromScheduler.lua +41 -0
- package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +11 -1
- package/dist/esm/commands/includes/removeJobKeys.lua +2 -2
- package/dist/esm/commands/includes/storeJobScheduler.lua +1 -1
- package/dist/esm/commands/moveStalledJobsToWait-9.lua +5 -0
- package/dist/esm/commands/moveToFinished-14.lua +2 -0
- package/dist/esm/commands/moveToWaitingChildren-8.lua +133 -0
- package/dist/esm/commands/removeJob-3.lua +10 -0
- package/dist/{cjs/commands/updateJobScheduler-7.lua → esm/commands/updateJobScheduler-11.lua} +28 -21
- package/dist/esm/scripts/addJobScheduler-10.js +80 -70
- package/dist/esm/scripts/addJobScheduler-10.js.map +1 -1
- package/dist/esm/scripts/addRepeatableJob-2.js +2 -2
- package/dist/esm/scripts/cleanJobsInSet-3.js +2 -2
- package/dist/esm/scripts/drain-5.js +2 -2
- package/dist/esm/scripts/index.d.ts +2 -2
- package/dist/esm/scripts/index.js +2 -2
- package/dist/esm/scripts/index.js.map +1 -1
- package/dist/esm/scripts/moveStalledJobsToWait-9.js +17 -3
- package/dist/esm/scripts/moveStalledJobsToWait-9.js.map +1 -1
- package/dist/esm/scripts/moveToFinished-14.js +14 -3
- package/dist/esm/scripts/moveToFinished-14.js.map +1 -1
- package/dist/esm/scripts/moveToWaitingChildren-8.js +546 -0
- package/dist/esm/scripts/moveToWaitingChildren-8.js.map +1 -0
- package/dist/esm/scripts/obliterate-2.js +2 -2
- package/dist/esm/scripts/removeChildDependency-1.js +2 -2
- package/dist/esm/scripts/removeJob-3.js +10 -2
- package/dist/esm/scripts/removeJob-3.js.map +1 -1
- package/dist/esm/scripts/removeJobScheduler-3.js +2 -2
- package/dist/esm/scripts/removeRepeatable-3.js +2 -2
- package/dist/esm/scripts/updateJobScheduler-11.js +243 -0
- package/dist/esm/scripts/updateJobScheduler-11.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/commands/moveToWaitingChildren-5.lua +0 -68
- package/dist/cjs/scripts/moveToWaitingChildren-5.js +0 -83
- package/dist/cjs/scripts/moveToWaitingChildren-5.js.map +0 -1
- package/dist/cjs/scripts/updateJobScheduler-7.js +0 -144
- package/dist/cjs/scripts/updateJobScheduler-7.js.map +0 -1
- package/dist/esm/commands/moveToWaitingChildren-5.lua +0 -68
- package/dist/esm/scripts/moveToWaitingChildren-5.js +0 -80
- package/dist/esm/scripts/moveToWaitingChildren-5.js.map +0 -1
- package/dist/esm/scripts/updateJobScheduler-7.js +0 -141
- package/dist/esm/scripts/updateJobScheduler-7.js.map +0 -1
- /package/dist/esm/scripts/{moveToWaitingChildren-5.d.ts → moveToWaitingChildren-8.d.ts} +0 -0
- /package/dist/esm/scripts/{updateJobScheduler-7.d.ts → updateJobScheduler-11.d.ts} +0 -0
@@ -34,12 +34,19 @@ const content = `--[[
|
|
34
34
|
local rcall = redis.call
|
35
35
|
local repeatKey = KEYS[1]
|
36
36
|
local delayedKey = KEYS[2]
|
37
|
+
local waitKey = KEYS[3]
|
38
|
+
local pausedKey = KEYS[4]
|
39
|
+
local metaKey = KEYS[5]
|
37
40
|
local prioritizedKey = KEYS[6]
|
38
41
|
local nextMillis = ARGV[1]
|
39
42
|
local jobSchedulerId = ARGV[3]
|
40
43
|
local templateOpts = cmsgpack.unpack(ARGV[5])
|
41
44
|
local prefixKey = ARGV[8]
|
42
45
|
-- Includes
|
46
|
+
--[[
|
47
|
+
Add delay marker if needed.
|
48
|
+
]]
|
49
|
+
-- Includes
|
43
50
|
--[[
|
44
51
|
Adds a delayed job to the queue by doing the following:
|
45
52
|
- Creates a new job key with the job data.
|
@@ -129,6 +136,71 @@ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, pr
|
|
129
136
|
rcall("ZADD", prioritizedKey, score, jobId)
|
130
137
|
addBaseMarkerIfNeeded(markerKey, isPausedOrMaxed)
|
131
138
|
end
|
139
|
+
--[[
|
140
|
+
Function to check for the meta.paused key to decide if we are paused or not
|
141
|
+
(since an empty list and !EXISTS are not really the same).
|
142
|
+
]]
|
143
|
+
local function isQueuePaused(queueMetaKey)
|
144
|
+
return rcall("HEXISTS", queueMetaKey, "paused") == 1
|
145
|
+
end
|
146
|
+
--[[
|
147
|
+
Function to store a job
|
148
|
+
]]
|
149
|
+
local function storeJob(eventsKey, jobIdKey, jobId, name, data, opts, timestamp,
|
150
|
+
parentKey, parentData, repeatJobKey)
|
151
|
+
local jsonOpts = cjson.encode(opts)
|
152
|
+
local delay = opts['delay'] or 0
|
153
|
+
local priority = opts['priority'] or 0
|
154
|
+
local debounceId = opts['de'] and opts['de']['id']
|
155
|
+
local optionalValues = {}
|
156
|
+
if parentKey ~= nil then
|
157
|
+
table.insert(optionalValues, "parentKey")
|
158
|
+
table.insert(optionalValues, parentKey)
|
159
|
+
table.insert(optionalValues, "parent")
|
160
|
+
table.insert(optionalValues, parentData)
|
161
|
+
end
|
162
|
+
if repeatJobKey ~= nil then
|
163
|
+
table.insert(optionalValues, "rjk")
|
164
|
+
table.insert(optionalValues, repeatJobKey)
|
165
|
+
end
|
166
|
+
if debounceId then
|
167
|
+
table.insert(optionalValues, "deid")
|
168
|
+
table.insert(optionalValues, debounceId)
|
169
|
+
end
|
170
|
+
rcall("HMSET", jobIdKey, "name", name, "data", data, "opts", jsonOpts,
|
171
|
+
"timestamp", timestamp, "delay", delay, "priority", priority,
|
172
|
+
unpack(optionalValues))
|
173
|
+
rcall("XADD", eventsKey, "*", "event", "added", "jobId", jobId, "name", name)
|
174
|
+
return delay, priority
|
175
|
+
end
|
176
|
+
local function addJobFromScheduler(jobKey, jobId, rawOpts, waitKey, pausedKey, metaKey, prioritizedKey,
|
177
|
+
priorityCounter, delayedKey, markerKey, eventsKey, name, maxEvents, timestamp, data, jobSchedulerId)
|
178
|
+
local opts = cmsgpack.unpack(rawOpts)
|
179
|
+
local delay, priority = storeJob(eventsKey, jobKey, jobId, name, data,
|
180
|
+
opts, timestamp, nil, nil, jobSchedulerId)
|
181
|
+
if delay ~= 0 then
|
182
|
+
addDelayedJob(jobId, delayedKey, eventsKey, timestamp, maxEvents, markerKey, delay)
|
183
|
+
else
|
184
|
+
local isPaused = isQueuePaused(metaKey)
|
185
|
+
-- Standard or priority add
|
186
|
+
if priority == 0 then
|
187
|
+
if isPaused then
|
188
|
+
-- LIFO or FIFO
|
189
|
+
local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
|
190
|
+
rcall(pushCmd, pausedKey, jobId)
|
191
|
+
else
|
192
|
+
-- LIFO or FIFO
|
193
|
+
local pushCmd = opts['lifo'] and 'RPUSH' or 'LPUSH'
|
194
|
+
rcall(pushCmd, waitKey, jobId)
|
195
|
+
end
|
196
|
+
else
|
197
|
+
-- Priority add
|
198
|
+
addJobWithPriority(markerKey, prioritizedKey, priority, jobId, priorityCounter, isPaused)
|
199
|
+
end
|
200
|
+
-- Emit waiting event
|
201
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "waiting", "jobId", jobId)
|
202
|
+
end
|
203
|
+
end
|
132
204
|
--[[
|
133
205
|
Function to get max events value or set by default 10000.
|
134
206
|
]]
|
@@ -140,13 +212,6 @@ local function getOrSetMaxEvents(metaKey)
|
|
140
212
|
end
|
141
213
|
return maxEvents
|
142
214
|
end
|
143
|
-
--[[
|
144
|
-
Function to check for the meta.paused key to decide if we are paused or not
|
145
|
-
(since an empty list and !EXISTS are not really the same).
|
146
|
-
]]
|
147
|
-
local function isQueuePaused(queueMetaKey)
|
148
|
-
return rcall("HEXISTS", queueMetaKey, "paused") == 1
|
149
|
-
end
|
150
215
|
--[[
|
151
216
|
Function to remove job.
|
152
217
|
]]
|
@@ -165,8 +230,8 @@ end
|
|
165
230
|
Function to remove job keys.
|
166
231
|
]]
|
167
232
|
local function removeJobKeys(jobKey)
|
168
|
-
return rcall("DEL", jobKey, jobKey .. ':logs',
|
169
|
-
jobKey .. ':
|
233
|
+
return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
|
234
|
+
jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
|
170
235
|
end
|
171
236
|
--[[
|
172
237
|
Check if this job has a parent. If so we will just remove it from
|
@@ -292,36 +357,6 @@ local function removeJob(jobId, hard, baseKey, shouldRemoveDeduplicationKey)
|
|
292
357
|
end
|
293
358
|
removeJobKeys(jobKey)
|
294
359
|
end
|
295
|
-
--[[
|
296
|
-
Function to store a job
|
297
|
-
]]
|
298
|
-
local function storeJob(eventsKey, jobIdKey, jobId, name, data, opts, timestamp,
|
299
|
-
parentKey, parentData, repeatJobKey)
|
300
|
-
local jsonOpts = cjson.encode(opts)
|
301
|
-
local delay = opts['delay'] or 0
|
302
|
-
local priority = opts['priority'] or 0
|
303
|
-
local debounceId = opts['de'] and opts['de']['id']
|
304
|
-
local optionalValues = {}
|
305
|
-
if parentKey ~= nil then
|
306
|
-
table.insert(optionalValues, "parentKey")
|
307
|
-
table.insert(optionalValues, parentKey)
|
308
|
-
table.insert(optionalValues, "parent")
|
309
|
-
table.insert(optionalValues, parentData)
|
310
|
-
end
|
311
|
-
if repeatJobKey ~= nil then
|
312
|
-
table.insert(optionalValues, "rjk")
|
313
|
-
table.insert(optionalValues, repeatJobKey)
|
314
|
-
end
|
315
|
-
if debounceId then
|
316
|
-
table.insert(optionalValues, "deid")
|
317
|
-
table.insert(optionalValues, debounceId)
|
318
|
-
end
|
319
|
-
rcall("HMSET", jobIdKey, "name", name, "data", data, "opts", jsonOpts,
|
320
|
-
"timestamp", timestamp, "delay", delay, "priority", priority,
|
321
|
-
unpack(optionalValues))
|
322
|
-
rcall("XADD", eventsKey, "*", "event", "added", "jobId", jobId, "name", name)
|
323
|
-
return delay, priority
|
324
|
-
end
|
325
360
|
--[[
|
326
361
|
Function to store a job scheduler
|
327
362
|
]]
|
@@ -358,7 +393,7 @@ local function storeJobScheduler(schedulerId, schedulerKey, repeatKey, nextMilli
|
|
358
393
|
table.insert(optionalValues, "data")
|
359
394
|
table.insert(optionalValues, templateData)
|
360
395
|
end
|
361
|
-
rcall("HMSET", schedulerKey, "name", opts['name'], unpack(optionalValues))
|
396
|
+
rcall("HMSET", schedulerKey, "name", opts['name'], "ic", 1, unpack(optionalValues))
|
362
397
|
end
|
363
398
|
-- If we are overriding a repeatable job we must delete the delayed job for
|
364
399
|
-- the next iteration.
|
@@ -376,12 +411,12 @@ if prevMillis ~= false then
|
|
376
411
|
removeJob(currentJobId, true, prefixKey, true --[[remove debounce key]] )
|
377
412
|
rcall("ZREM", prioritizedKey, currentJobId)
|
378
413
|
else
|
379
|
-
if isQueuePaused(
|
380
|
-
if rcall("LREM",
|
414
|
+
if isQueuePaused(metaKey) then
|
415
|
+
if rcall("LREM", pausedKey, 1, currentJobId) > 0 then
|
381
416
|
removeJob(currentJobId, true, prefixKey, true --[[remove debounce key]] )
|
382
417
|
end
|
383
418
|
else
|
384
|
-
if rcall("LREM",
|
419
|
+
if rcall("LREM", waitKey, 1, currentJobId) > 0 then
|
385
420
|
removeJob(currentJobId, true, prefixKey, true --[[remove debounce key]] )
|
386
421
|
end
|
387
422
|
end
|
@@ -392,35 +427,10 @@ local schedulerOpts = cmsgpack.unpack(ARGV[2])
|
|
392
427
|
storeJobScheduler(jobSchedulerId, schedulerKey, repeatKey, nextMillis, schedulerOpts, ARGV[4], templateOpts)
|
393
428
|
if rcall("EXISTS", nextDelayedJobKey) ~= 1 then
|
394
429
|
local eventsKey = KEYS[9]
|
395
|
-
local metaKey = KEYS[5]
|
396
430
|
local maxEvents = getOrSetMaxEvents(metaKey)
|
397
431
|
rcall("INCR", KEYS[8])
|
398
|
-
|
399
|
-
|
400
|
-
delayedOpts, ARGV[7], nil, nil, jobSchedulerId)
|
401
|
-
if delay ~= 0 then
|
402
|
-
addDelayedJob(nextDelayedJobId, delayedKey, eventsKey,
|
403
|
-
ARGV[7], maxEvents, KEYS[7], delay)
|
404
|
-
else
|
405
|
-
local isPaused = isQueuePaused(KEYS[5])
|
406
|
-
-- Standard or priority add
|
407
|
-
if priority == 0 then
|
408
|
-
if isPaused then
|
409
|
-
-- LIFO or FIFO
|
410
|
-
local pushCmd = delayedOpts['lifo'] and 'RPUSH' or 'LPUSH'
|
411
|
-
rcall(pushCmd, KEYS[4], nextDelayedJobId)
|
412
|
-
else
|
413
|
-
-- LIFO or FIFO
|
414
|
-
local pushCmd = delayedOpts['lifo'] and 'RPUSH' or 'LPUSH'
|
415
|
-
rcall(pushCmd, KEYS[3], nextDelayedJobId)
|
416
|
-
end
|
417
|
-
else
|
418
|
-
-- Priority add
|
419
|
-
addJobWithPriority(KEYS[7], KEYS[6], priority, nextDelayedJobId, KEYS[10], isPaused)
|
420
|
-
end
|
421
|
-
-- Emit waiting event
|
422
|
-
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "waiting", "jobId", nextDelayedJobId)
|
423
|
-
end
|
432
|
+
addJobFromScheduler(nextDelayedJobKey, nextDelayedJobId, ARGV[6], waitKey, pausedKey, metaKey, prioritizedKey,
|
433
|
+
KEYS[10], delayedKey, KEYS[7], eventsKey, schedulerOpts['name'], maxEvents, ARGV[7], ARGV[4], jobSchedulerId)
|
424
434
|
if ARGV[9] ~= "" then
|
425
435
|
rcall("HSET", ARGV[9], "nrjid", nextDelayedJobId)
|
426
436
|
end
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addJobScheduler-10.js","sourceRoot":"","sources":["../../../src/scripts/addJobScheduler-10.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addJobScheduler-10.js","sourceRoot":"","sources":["../../../src/scripts/addJobScheduler-10.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmbf,CAAC;AACW,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,iBAAiB;IACvB,OAAO;IACP,IAAI,EAAE,EAAE;CACT,CAAC"}
|
@@ -45,8 +45,8 @@ end
|
|
45
45
|
Function to remove job keys.
|
46
46
|
]]
|
47
47
|
local function removeJobKeys(jobKey)
|
48
|
-
return rcall("DEL", jobKey, jobKey .. ':logs',
|
49
|
-
jobKey .. ':
|
48
|
+
return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
|
49
|
+
jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
|
50
50
|
end
|
51
51
|
--[[
|
52
52
|
Check if this job has a parent. If so we will just remove it from
|
@@ -81,8 +81,8 @@ end
|
|
81
81
|
Function to remove job keys.
|
82
82
|
]]
|
83
83
|
local function removeJobKeys(jobKey)
|
84
|
-
return rcall("DEL", jobKey, jobKey .. ':logs',
|
85
|
-
jobKey .. ':
|
84
|
+
return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
|
85
|
+
jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
|
86
86
|
end
|
87
87
|
--[[
|
88
88
|
Check if this job has a parent. If so we will just remove it from
|
@@ -53,8 +53,8 @@ end
|
|
53
53
|
Function to remove job keys.
|
54
54
|
]]
|
55
55
|
local function removeJobKeys(jobKey)
|
56
|
-
return rcall("DEL", jobKey, jobKey .. ':logs',
|
57
|
-
jobKey .. ':
|
56
|
+
return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
|
57
|
+
jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
|
58
58
|
end
|
59
59
|
--[[
|
60
60
|
Check if this job has a parent. If so we will just remove it from
|
@@ -30,7 +30,7 @@ tslib_1.__exportStar(require("./moveStalledJobsToWait-9"), exports);
|
|
30
30
|
tslib_1.__exportStar(require("./moveToActive-11"), exports);
|
31
31
|
tslib_1.__exportStar(require("./moveToDelayed-8"), exports);
|
32
32
|
tslib_1.__exportStar(require("./moveToFinished-14"), exports);
|
33
|
-
tslib_1.__exportStar(require("./moveToWaitingChildren-
|
33
|
+
tslib_1.__exportStar(require("./moveToWaitingChildren-8"), exports);
|
34
34
|
tslib_1.__exportStar(require("./obliterate-2"), exports);
|
35
35
|
tslib_1.__exportStar(require("./paginate-1"), exports);
|
36
36
|
tslib_1.__exportStar(require("./pause-7"), exports);
|
@@ -44,7 +44,7 @@ tslib_1.__exportStar(require("./reprocessJob-8"), exports);
|
|
44
44
|
tslib_1.__exportStar(require("./retryJob-11"), exports);
|
45
45
|
tslib_1.__exportStar(require("./saveStacktrace-1"), exports);
|
46
46
|
tslib_1.__exportStar(require("./updateData-1"), exports);
|
47
|
-
tslib_1.__exportStar(require("./updateJobScheduler-
|
47
|
+
tslib_1.__exportStar(require("./updateJobScheduler-11"), exports);
|
48
48
|
tslib_1.__exportStar(require("./updateProgress-3"), exports);
|
49
49
|
tslib_1.__exportStar(require("./updateRepeatableJobMillis-1"), exports);
|
50
50
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,+DAAqC;AACrC,qDAA2B;AAC3B,2DAAiC;AACjC,gEAAsC;AACtC,+DAAqC;AACrC,6DAAmC;AACnC,0DAAgC;AAChC,6DAAmC;AACnC,6DAAmC;AACnC,oDAA0B;AAC1B,yDAA+B;AAC/B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,8DAAoC;AACpC,wDAA8B;AAC9B,8DAAoC;AACpC,uDAA6B;AAC7B,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC;AAChC,sDAA4B;AAC5B,sEAA4C;AAC5C,6DAAmC;AACnC,oEAA0C;AAC1C,4DAAkC;AAClC,4DAAkC;AAClC,8DAAoC;AACpC,oEAA0C;AAC1C,yDAA+B;AAC/B,uDAA6B;AAC7B,oDAA0B;AAC1B,sDAA4B;AAC5B,0DAAgC;AAChC,oEAA0C;AAC1C,wDAA8B;AAC9B,iEAAuC;AACvC,+DAAqC;AACrC,2DAAiC;AACjC,wDAA8B;AAC9B,6DAAmC;AACnC,yDAA+B;AAC/B,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":";;;AAAA,4DAAkC;AAClC,+DAAqC;AACrC,qDAA2B;AAC3B,2DAAiC;AACjC,gEAAsC;AACtC,+DAAqC;AACrC,6DAAmC;AACnC,0DAAgC;AAChC,6DAAmC;AACnC,6DAAmC;AACnC,oDAA0B;AAC1B,yDAA+B;AAC/B,0DAAgC;AAChC,wDAA8B;AAC9B,mEAAyC;AACzC,8DAAoC;AACpC,wDAA8B;AAC9B,8DAAoC;AACpC,uDAA6B;AAC7B,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC;AAChC,sDAA4B;AAC5B,sEAA4C;AAC5C,6DAAmC;AACnC,oEAA0C;AAC1C,4DAAkC;AAClC,4DAAkC;AAClC,8DAAoC;AACpC,oEAA0C;AAC1C,yDAA+B;AAC/B,uDAA6B;AAC7B,oDAA0B;AAC1B,sDAA4B;AAC5B,0DAAgC;AAChC,oEAA0C;AAC1C,wDAA8B;AAC9B,iEAAuC;AACvC,+DAAqC;AACrC,2DAAiC;AACjC,wDAA8B;AAC9B,6DAAmC;AACnC,yDAA+B;AAC/B,kEAAwC;AACxC,6DAAmC;AACnC,wEAA8C"}
|
@@ -213,8 +213,8 @@ end
|
|
213
213
|
Function to remove job keys.
|
214
214
|
]]
|
215
215
|
local function removeJobKeys(jobKey)
|
216
|
-
return rcall("DEL", jobKey, jobKey .. ':logs',
|
217
|
-
jobKey .. ':
|
216
|
+
return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
|
217
|
+
jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
|
218
218
|
end
|
219
219
|
--[[
|
220
220
|
Check if this job has a parent. If so we will just remove it from
|
@@ -370,13 +370,16 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
|
|
370
370
|
local parentFailedKey = parentQueueKey .. ":failed"
|
371
371
|
rcall("ZADD", parentFailedKey, timestamp, parentId)
|
372
372
|
local failedReason = "child " .. jobIdKey .. " failed"
|
373
|
-
rcall("
|
373
|
+
rcall("HSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
|
374
374
|
rcall("XADD", parentQueueKey .. ":events", "*", "event", "failed", "jobId", parentId, "failedReason",
|
375
375
|
failedReason, "prev", "waiting-children")
|
376
376
|
local jobAttributes = rcall("HMGET", parentKey, "parent", "deid", "opts")
|
377
377
|
removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
|
378
378
|
if jobAttributes[1] then
|
379
379
|
local parentData = cjson.decode(jobAttributes[1])
|
380
|
+
local grandParentKey = parentData['queueKey'] .. ':' .. parentData['id']
|
381
|
+
local grandParentUnsuccesssful = grandParentKey .. ":unsuccessful"
|
382
|
+
rcall("ZADD", grandParentUnsuccesssful, timestamp, parentKey)
|
380
383
|
if parentData['fpof'] then
|
381
384
|
moveParentFromWaitingChildrenToFailed(
|
382
385
|
parentData['queueKey'],
|
@@ -438,6 +441,12 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
|
|
438
441
|
local parentRawOpts = jobAttributes[3]
|
439
442
|
local parentOpts = cjson.decode(parentRawOpts)
|
440
443
|
removeJobsOnFail(parentQueuePrefix, parentFailedKey, parentId, parentOpts, timestamp)
|
444
|
+
else
|
445
|
+
local grandParentKey = rcall("HGET", parentKey, "parentKey")
|
446
|
+
if grandParentKey then
|
447
|
+
local grandParentUnsuccesssfulSet = grandParentKey .. ":unsuccessful"
|
448
|
+
rcall("ZADD", grandParentUnsuccesssfulSet, timestamp, parentKey)
|
449
|
+
end
|
441
450
|
end
|
442
451
|
end
|
443
452
|
--[[
|
@@ -519,6 +528,11 @@ if (#stalling > 0) then
|
|
519
528
|
if rawParentData then
|
520
529
|
if opts['fpof'] then
|
521
530
|
local parentData = cjson.decode(rawParentData)
|
531
|
+
-- TODO: need to remove this job from dependencies set in next breaking change
|
532
|
+
-- no for now as it would imply a breaking change
|
533
|
+
local parentKey = parentData['queueKey'] .. ':' .. parentData['id']
|
534
|
+
local unsuccesssfulSet = parentKey .. ":unsuccessful"
|
535
|
+
rcall("ZADD", unsuccesssfulSet, timestamp, jobKey)
|
522
536
|
moveParentFromWaitingChildrenToFailed(
|
523
537
|
parentData['queueKey'],
|
524
538
|
parentData['queueKey'] .. ':' .. parentData['id'],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"moveStalledJobsToWait-9.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-9.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"moveStalledJobsToWait-9.js","sourceRoot":"","sources":["../../../src/scripts/moveStalledJobsToWait-9.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAmkBS,CAAC;AACb,QAAA,qBAAqB,GAAG;IACnC,IAAI,EAAE,uBAAuB;IAC7B,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -308,8 +308,8 @@ end
|
|
308
308
|
Function to remove job keys.
|
309
309
|
]]
|
310
310
|
local function removeJobKeys(jobKey)
|
311
|
-
return rcall("DEL", jobKey, jobKey .. ':logs',
|
312
|
-
jobKey .. ':
|
311
|
+
return rcall("DEL", jobKey, jobKey .. ':logs', jobKey .. ':dependencies',
|
312
|
+
jobKey .. ':processed', jobKey .. ':failed', jobKey .. ':unsuccessful')
|
313
313
|
end
|
314
314
|
--[[
|
315
315
|
Check if this job has a parent. If so we will just remove it from
|
@@ -465,13 +465,16 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
|
|
465
465
|
local parentFailedKey = parentQueueKey .. ":failed"
|
466
466
|
rcall("ZADD", parentFailedKey, timestamp, parentId)
|
467
467
|
local failedReason = "child " .. jobIdKey .. " failed"
|
468
|
-
rcall("
|
468
|
+
rcall("HSET", parentKey, "failedReason", failedReason, "finishedOn", timestamp)
|
469
469
|
rcall("XADD", parentQueueKey .. ":events", "*", "event", "failed", "jobId", parentId, "failedReason",
|
470
470
|
failedReason, "prev", "waiting-children")
|
471
471
|
local jobAttributes = rcall("HMGET", parentKey, "parent", "deid", "opts")
|
472
472
|
removeDeduplicationKeyIfNeeded(parentQueueKey .. ":", jobAttributes[2])
|
473
473
|
if jobAttributes[1] then
|
474
474
|
local parentData = cjson.decode(jobAttributes[1])
|
475
|
+
local grandParentKey = parentData['queueKey'] .. ':' .. parentData['id']
|
476
|
+
local grandParentUnsuccesssful = grandParentKey .. ":unsuccessful"
|
477
|
+
rcall("ZADD", grandParentUnsuccesssful, timestamp, parentKey)
|
475
478
|
if parentData['fpof'] then
|
476
479
|
moveParentFromWaitingChildrenToFailed(
|
477
480
|
parentData['queueKey'],
|
@@ -533,6 +536,12 @@ local function moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
|
|
533
536
|
local parentRawOpts = jobAttributes[3]
|
534
537
|
local parentOpts = cjson.decode(parentRawOpts)
|
535
538
|
removeJobsOnFail(parentQueuePrefix, parentFailedKey, parentId, parentOpts, timestamp)
|
539
|
+
else
|
540
|
+
local grandParentKey = rcall("HGET", parentKey, "parentKey")
|
541
|
+
if grandParentKey then
|
542
|
+
local grandParentUnsuccesssfulSet = grandParentKey .. ":unsuccessful"
|
543
|
+
rcall("ZADD", grandParentUnsuccesssfulSet, timestamp, parentKey)
|
544
|
+
end
|
536
545
|
end
|
537
546
|
end
|
538
547
|
--[[
|
@@ -722,6 +731,8 @@ if rcall("EXISTS", jobIdKey) == 1 then -- // Make sure job exists
|
|
722
731
|
end
|
723
732
|
else
|
724
733
|
if opts['fpof'] then
|
734
|
+
local unsuccesssfulSet = parentKey .. ":unsuccessful"
|
735
|
+
rcall("ZADD", unsuccesssfulSet, timestamp, jobIdKey)
|
725
736
|
moveParentFromWaitingChildrenToFailed(parentQueueKey, parentKey,
|
726
737
|
parentId, jobIdKey,
|
727
738
|
timestamp)
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+0Bf,CAAC;AACW,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,EAAE;CACT,CAAC"}
|