bullmq 5.44.1 → 5.52.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/async-fifo-queue.js.map +1 -1
- package/dist/cjs/classes/child-processor.js.map +1 -1
- package/dist/cjs/classes/child.js.map +1 -1
- package/dist/cjs/classes/flow-producer.js +15 -4
- package/dist/cjs/classes/flow-producer.js.map +1 -1
- package/dist/cjs/classes/job-scheduler.js +1 -1
- package/dist/cjs/classes/job-scheduler.js.map +1 -1
- package/dist/cjs/classes/job.js +137 -54
- package/dist/cjs/classes/job.js.map +1 -1
- package/dist/cjs/classes/queue-base.js +1 -4
- package/dist/cjs/classes/queue-base.js.map +1 -1
- package/dist/cjs/classes/queue-events-producer.js.map +1 -1
- package/dist/cjs/classes/queue-events.js.map +1 -1
- package/dist/cjs/classes/queue-getters.js +12 -15
- package/dist/cjs/classes/queue-getters.js.map +1 -1
- package/dist/cjs/classes/queue-keys.js.map +1 -1
- package/dist/cjs/classes/queue.js +12 -13
- package/dist/cjs/classes/queue.js.map +1 -1
- package/dist/cjs/classes/redis-connection.js +1 -1
- package/dist/cjs/classes/redis-connection.js.map +1 -1
- package/dist/cjs/classes/repeat.js +1 -1
- package/dist/cjs/classes/repeat.js.map +1 -1
- package/dist/cjs/classes/scripts.js +18 -7
- package/dist/cjs/classes/scripts.js.map +1 -1
- package/dist/cjs/classes/worker.js +4 -0
- package/dist/cjs/classes/worker.js.map +1 -1
- package/dist/cjs/commands/addJobScheduler-11.lua +52 -33
- package/dist/cjs/commands/includes/deduplicateJob.lua +16 -17
- package/dist/cjs/commands/includes/isLocked.lua +1 -0
- package/dist/cjs/commands/includes/moveChildFromDependenciesIfNeeded.lua +79 -0
- package/dist/cjs/commands/includes/moveParentToWait.lua +48 -0
- package/dist/cjs/commands/includes/moveParentToWaitIfNeeded.lua +9 -50
- package/dist/cjs/commands/includes/moveParentToWaitIfNoPendingDependencies.lua +13 -0
- package/dist/cjs/commands/includes/removeDeduplicationKeyIfNeededOnFinalization.lua +23 -0
- package/dist/cjs/commands/includes/removeDeduplicationKeyIfNeededOnRemoval.lua +16 -0
- package/dist/cjs/commands/includes/removeJob.lua +2 -2
- package/dist/cjs/commands/includes/removeJobWithChildren.lua +94 -0
- package/dist/cjs/commands/includes/removeParentDependencyKey.lua +5 -5
- package/dist/cjs/commands/includes/storeJob.lua +1 -1
- package/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +2 -2
- package/dist/cjs/commands/moveStalledJobsToWait-9.lua +18 -53
- package/dist/cjs/commands/moveToFinished-14.lua +43 -51
- package/dist/cjs/commands/moveToWaitingChildren-8.lua +5 -32
- package/dist/cjs/commands/removeJob-3.lua +14 -72
- package/dist/cjs/commands/removeUnprocessedChildren-2.lua +31 -0
- package/dist/cjs/commands/updateJobScheduler-12.lua +29 -23
- package/dist/cjs/scripts/addDelayedJob-6.js +73 -55
- package/dist/cjs/scripts/addDelayedJob-6.js.map +1 -1
- package/dist/cjs/scripts/addJobScheduler-11.js +59 -40
- package/dist/cjs/scripts/addJobScheduler-11.js.map +1 -1
- package/dist/cjs/scripts/addParentJob-4.js +73 -55
- package/dist/cjs/scripts/addParentJob-4.js.map +1 -1
- package/dist/cjs/scripts/addPrioritizedJob-8.js +73 -55
- package/dist/cjs/scripts/addPrioritizedJob-8.js.map +1 -1
- package/dist/cjs/scripts/addRepeatableJob-2.js +14 -9
- package/dist/cjs/scripts/addRepeatableJob-2.js.map +1 -1
- package/dist/cjs/scripts/addStandardJob-8.js +73 -55
- package/dist/cjs/scripts/addStandardJob-8.js.map +1 -1
- package/dist/cjs/scripts/cleanJobsInSet-3.js +14 -9
- package/dist/cjs/scripts/cleanJobsInSet-3.js.map +1 -1
- package/dist/cjs/scripts/drain-5.js +14 -9
- package/dist/cjs/scripts/drain-5.js.map +1 -1
- package/dist/cjs/scripts/index.js +1 -0
- package/dist/cjs/scripts/index.js.map +1 -1
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js +157 -155
- package/dist/cjs/scripts/moveStalledJobsToWait-9.js.map +1 -1
- package/dist/cjs/scripts/moveToFinished-14.js +183 -157
- package/dist/cjs/scripts/moveToFinished-14.js.map +1 -1
- package/dist/cjs/scripts/moveToWaitingChildren-8.js +145 -137
- package/dist/cjs/scripts/moveToWaitingChildren-8.js.map +1 -1
- package/dist/cjs/scripts/obliterate-2.js +14 -9
- package/dist/cjs/scripts/obliterate-2.js.map +1 -1
- package/dist/cjs/scripts/removeChildDependency-1.js +5 -5
- package/dist/cjs/scripts/removeJob-3.js +97 -63
- package/dist/cjs/scripts/removeJob-3.js.map +1 -1
- package/dist/cjs/scripts/removeUnprocessedChildren-2.js +338 -0
- package/dist/cjs/scripts/removeUnprocessedChildren-2.js.map +1 -0
- package/dist/cjs/scripts/updateJobScheduler-12.js +27 -21
- package/dist/cjs/scripts/updateJobScheduler-12.js.map +1 -1
- package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/job-progress.js +3 -0
- package/dist/cjs/types/job-progress.js.map +1 -0
- package/dist/cjs/utils.js +12 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/classes/async-fifo-queue.js.map +1 -1
- package/dist/esm/classes/child-processor.js.map +1 -1
- package/dist/esm/classes/child.js.map +1 -1
- package/dist/esm/classes/flow-producer.js +15 -4
- package/dist/esm/classes/flow-producer.js.map +1 -1
- package/dist/esm/classes/job-scheduler.js +1 -1
- package/dist/esm/classes/job-scheduler.js.map +1 -1
- package/dist/esm/classes/job.d.ts +49 -14
- package/dist/esm/classes/job.js +138 -55
- package/dist/esm/classes/job.js.map +1 -1
- package/dist/esm/classes/queue-base.d.ts +1 -4
- package/dist/esm/classes/queue-base.js +1 -4
- package/dist/esm/classes/queue-base.js.map +1 -1
- package/dist/esm/classes/queue-events-producer.d.ts +2 -2
- package/dist/esm/classes/queue-events-producer.js.map +1 -1
- package/dist/esm/classes/queue-events.d.ts +118 -29
- package/dist/esm/classes/queue-events.js.map +1 -1
- package/dist/esm/classes/queue-getters.d.ts +11 -14
- package/dist/esm/classes/queue-getters.js +12 -15
- package/dist/esm/classes/queue-getters.js.map +1 -1
- package/dist/esm/classes/queue-keys.js.map +1 -1
- package/dist/esm/classes/queue.d.ts +14 -15
- package/dist/esm/classes/queue.js +12 -13
- package/dist/esm/classes/queue.js.map +1 -1
- package/dist/esm/classes/redis-connection.js +1 -1
- package/dist/esm/classes/redis-connection.js.map +1 -1
- package/dist/esm/classes/repeat.js +1 -1
- package/dist/esm/classes/repeat.js.map +1 -1
- package/dist/esm/classes/scripts.d.ts +4 -3
- package/dist/esm/classes/scripts.js +18 -7
- package/dist/esm/classes/scripts.js.map +1 -1
- package/dist/esm/classes/worker.d.ts +2 -1
- package/dist/esm/classes/worker.js +5 -1
- package/dist/esm/classes/worker.js.map +1 -1
- package/dist/esm/commands/addJobScheduler-11.lua +52 -33
- package/dist/esm/commands/includes/deduplicateJob.lua +16 -17
- package/dist/esm/commands/includes/isLocked.lua +1 -0
- package/dist/esm/commands/includes/moveChildFromDependenciesIfNeeded.lua +79 -0
- package/dist/esm/commands/includes/moveParentToWait.lua +48 -0
- package/dist/esm/commands/includes/moveParentToWaitIfNeeded.lua +9 -50
- package/dist/esm/commands/includes/moveParentToWaitIfNoPendingDependencies.lua +13 -0
- package/dist/esm/commands/includes/removeDeduplicationKeyIfNeededOnFinalization.lua +23 -0
- package/dist/esm/commands/includes/removeDeduplicationKeyIfNeededOnRemoval.lua +16 -0
- package/dist/esm/commands/includes/removeJob.lua +2 -2
- package/dist/esm/commands/includes/removeJobWithChildren.lua +94 -0
- package/dist/esm/commands/includes/removeParentDependencyKey.lua +5 -5
- package/dist/esm/commands/includes/storeJob.lua +1 -1
- package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +2 -2
- package/dist/esm/commands/moveStalledJobsToWait-9.lua +18 -53
- package/dist/esm/commands/moveToFinished-14.lua +43 -51
- package/dist/esm/commands/moveToWaitingChildren-8.lua +5 -32
- package/dist/esm/commands/removeJob-3.lua +14 -72
- package/dist/esm/commands/removeUnprocessedChildren-2.lua +31 -0
- package/dist/esm/commands/updateJobScheduler-12.lua +29 -23
- package/dist/esm/interfaces/job-json.d.ts +5 -2
- package/dist/esm/interfaces/minimal-job.d.ts +29 -11
- package/dist/esm/interfaces/queue-options.d.ts +6 -2
- package/dist/esm/interfaces/repeat-options.d.ts +1 -1
- package/dist/esm/interfaces/sandboxed-job.d.ts +2 -2
- package/dist/esm/interfaces/sandboxed-options.d.ts +1 -1
- package/dist/esm/interfaces/telemetry.d.ts +18 -15
- package/dist/esm/interfaces/worker-options.d.ts +10 -10
- package/dist/esm/scripts/addDelayedJob-6.js +73 -55
- package/dist/esm/scripts/addDelayedJob-6.js.map +1 -1
- package/dist/esm/scripts/addJobScheduler-11.js +59 -40
- package/dist/esm/scripts/addJobScheduler-11.js.map +1 -1
- package/dist/esm/scripts/addParentJob-4.js +73 -55
- package/dist/esm/scripts/addParentJob-4.js.map +1 -1
- package/dist/esm/scripts/addPrioritizedJob-8.js +73 -55
- package/dist/esm/scripts/addPrioritizedJob-8.js.map +1 -1
- package/dist/esm/scripts/addRepeatableJob-2.js +14 -9
- package/dist/esm/scripts/addRepeatableJob-2.js.map +1 -1
- package/dist/esm/scripts/addStandardJob-8.js +73 -55
- package/dist/esm/scripts/addStandardJob-8.js.map +1 -1
- package/dist/esm/scripts/cleanJobsInSet-3.js +14 -9
- package/dist/esm/scripts/cleanJobsInSet-3.js.map +1 -1
- package/dist/esm/scripts/drain-5.js +14 -9
- package/dist/esm/scripts/drain-5.js.map +1 -1
- package/dist/esm/scripts/index.d.ts +1 -0
- package/dist/esm/scripts/index.js +1 -0
- package/dist/esm/scripts/index.js.map +1 -1
- package/dist/esm/scripts/moveStalledJobsToWait-9.js +157 -155
- package/dist/esm/scripts/moveStalledJobsToWait-9.js.map +1 -1
- package/dist/esm/scripts/moveToFinished-14.js +183 -157
- package/dist/esm/scripts/moveToFinished-14.js.map +1 -1
- package/dist/esm/scripts/moveToWaitingChildren-8.js +145 -137
- package/dist/esm/scripts/moveToWaitingChildren-8.js.map +1 -1
- package/dist/esm/scripts/obliterate-2.js +14 -9
- package/dist/esm/scripts/obliterate-2.js.map +1 -1
- package/dist/esm/scripts/removeChildDependency-1.js +5 -5
- package/dist/esm/scripts/removeJob-3.js +97 -63
- package/dist/esm/scripts/removeJob-3.js.map +1 -1
- package/dist/esm/scripts/removeUnprocessedChildren-2.d.ts +5 -0
- package/dist/esm/scripts/removeUnprocessedChildren-2.js +335 -0
- package/dist/esm/scripts/removeUnprocessedChildren-2.js.map +1 -0
- package/dist/esm/scripts/updateJobScheduler-12.js +27 -21
- package/dist/esm/scripts/updateJobScheduler-12.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/job-options.d.ts +13 -2
- package/dist/esm/types/job-progress.d.ts +1 -0
- package/dist/esm/types/job-progress.js +2 -0
- package/dist/esm/types/job-progress.js.map +1 -0
- package/dist/esm/utils.d.ts +17 -0
- package/dist/esm/utils.js +11 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +26 -21
- package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -80
- package/dist/cjs/commands/includes/removeDeduplicationKey.lua +0 -11
- package/dist/cjs/commands/includes/removeDeduplicationKeyIfNeeded.lua +0 -14
- package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -80
- package/dist/esm/commands/includes/removeDeduplicationKey.lua +0 -11
- package/dist/esm/commands/includes/removeDeduplicationKeyIfNeeded.lua +0 -14
@@ -46,25 +46,25 @@ local parentData
|
|
46
46
|
-- Includes
|
47
47
|
--[[
|
48
48
|
Function to debounce a job.
|
49
|
-
]]
|
49
|
+
]]
|
50
50
|
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
51
51
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
52
52
|
if deduplicationId then
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
53
|
+
local ttl = deduplicationOpts['ttl']
|
54
|
+
local deduplicationKeyExists
|
55
|
+
if ttl then
|
56
|
+
deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'PX', ttl, 'NX')
|
57
|
+
else
|
58
|
+
deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'NX')
|
59
|
+
end
|
60
|
+
if deduplicationKeyExists then
|
61
|
+
local currentDebounceJobId = rcall('GET', deduplicationKey)
|
62
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced", "jobId", currentDebounceJobId,
|
63
|
+
"debounceId", deduplicationId)
|
64
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
|
65
|
+
currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
|
66
|
+
return currentDebounceJobId
|
67
|
+
end
|
68
68
|
end
|
69
69
|
end
|
70
70
|
--[[
|
@@ -94,7 +94,16 @@ end
|
|
94
94
|
]]
|
95
95
|
-- Includes
|
96
96
|
--[[
|
97
|
-
Validate and move parent to
|
97
|
+
Validate and move parent to a wait status (waiting, delayed or prioritized)
|
98
|
+
if no pending dependencies.
|
99
|
+
]]
|
100
|
+
-- Includes
|
101
|
+
--[[
|
102
|
+
Validate and move parent to a wait status (waiting, delayed or prioritized) if needed.
|
103
|
+
]]
|
104
|
+
-- Includes
|
105
|
+
--[[
|
106
|
+
Move parent to a wait status (wait, prioritized or delayed)
|
98
107
|
]]
|
99
108
|
-- Includes
|
100
109
|
--[[
|
@@ -190,51 +199,60 @@ local function getTargetQueueList(queueMetaKey, activeKey, waitKey, pausedKey)
|
|
190
199
|
end
|
191
200
|
return waitKey, false
|
192
201
|
end
|
193
|
-
local function
|
194
|
-
|
195
|
-
local
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
local
|
206
|
-
local
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
202
|
+
local function moveParentToWait(parentQueueKey, parentKey, parentId, timestamp)
|
203
|
+
local parentWaitKey = parentQueueKey .. ":wait"
|
204
|
+
local parentPausedKey = parentQueueKey .. ":paused"
|
205
|
+
local parentActiveKey = parentQueueKey .. ":active"
|
206
|
+
local parentMetaKey = parentQueueKey .. ":meta"
|
207
|
+
local parentMarkerKey = parentQueueKey .. ":marker"
|
208
|
+
local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
|
209
|
+
local priority = tonumber(jobAttributes[1]) or 0
|
210
|
+
local delay = tonumber(jobAttributes[2]) or 0
|
211
|
+
-- ignore dependencies if any left
|
212
|
+
rcall("HSET", parentKey, "igdp", 1)
|
213
|
+
if delay > 0 then
|
214
|
+
local delayedTimestamp = tonumber(timestamp) + delay
|
215
|
+
local score = delayedTimestamp * 0x1000
|
216
|
+
local parentDelayedKey = parentQueueKey .. ":delayed"
|
217
|
+
rcall("ZADD", parentDelayedKey, score, parentId)
|
218
|
+
rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed", "jobId", parentId, "delay",
|
219
|
+
delayedTimestamp)
|
220
|
+
addDelayMarkerIfNeeded(parentMarkerKey, parentDelayedKey)
|
221
|
+
else
|
222
|
+
if priority == 0 then
|
223
|
+
local parentTarget, isParentPausedOrMaxed = getTargetQueueList(parentMetaKey, parentActiveKey,
|
224
|
+
parentWaitKey, parentPausedKey)
|
225
|
+
addJobInTargetList(parentTarget, parentMarkerKey, "RPUSH", isParentPausedOrMaxed, parentId)
|
215
226
|
else
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
parentPausedKey)
|
220
|
-
addJobInTargetList(parentTarget, parentMarkerKey, "RPUSH", isParentPausedOrMaxed,
|
221
|
-
parentId)
|
222
|
-
else
|
223
|
-
local isPausedOrMaxed = isQueuePausedOrMaxed(parentMetaKey, parentActiveKey)
|
224
|
-
addJobWithPriority(parentMarkerKey,
|
225
|
-
parentQueueKey .. ":prioritized", priority,
|
226
|
-
parentId, parentQueueKey .. ":pc", isPausedOrMaxed)
|
227
|
-
end
|
228
|
-
rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting",
|
229
|
-
"jobId", parentId, "prev", "waiting-children")
|
227
|
+
local isPausedOrMaxed = isQueuePausedOrMaxed(parentMetaKey, parentActiveKey)
|
228
|
+
addJobWithPriority(parentMarkerKey, parentQueueKey .. ":prioritized", priority, parentId,
|
229
|
+
parentQueueKey .. ":pc", isPausedOrMaxed)
|
230
230
|
end
|
231
|
+
rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting", "jobId", parentId, "prev",
|
232
|
+
"waiting-children")
|
231
233
|
end
|
232
234
|
end
|
235
|
+
local function moveParentToWaitIfNeeded(parentQueueKey, parentKey, parentId, timestamp)
|
236
|
+
if rcall("EXISTS", parentKey) == 1 then
|
237
|
+
local parentWaitingChildrenKey = parentQueueKey .. ":waiting-children"
|
238
|
+
if rcall("ZSCORE", parentWaitingChildrenKey, parentId) then
|
239
|
+
rcall("ZREM", parentWaitingChildrenKey, parentId)
|
240
|
+
moveParentToWait(parentQueueKey, parentKey, parentId, timestamp)
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
244
|
+
local function moveParentToWaitIfNoPendingDependencies(parentQueueKey, parentDependenciesKey, parentKey,
|
245
|
+
parentId, timestamp)
|
246
|
+
local doNotHavePendingDependencies = rcall("SCARD", parentDependenciesKey) == 0
|
247
|
+
if doNotHavePendingDependencies then
|
248
|
+
moveParentToWaitIfNeeded(parentQueueKey, parentKey, parentId, timestamp)
|
249
|
+
end
|
250
|
+
end
|
233
251
|
local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDependenciesKey,
|
234
252
|
parentId, jobIdKey, returnvalue, timestamp )
|
235
253
|
local processedSet = parentKey .. ":processed"
|
236
254
|
rcall("HSET", processedSet, jobIdKey, returnvalue)
|
237
|
-
|
255
|
+
moveParentToWaitIfNoPendingDependencies(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
|
238
256
|
end
|
239
257
|
local function updateExistingJobsParent(parentKey, parent, parentData,
|
240
258
|
parentDependenciesKey, completedKey,
|
@@ -286,7 +304,7 @@ local function storeJob(eventsKey, jobIdKey, jobId, name, data, opts, timestamp,
|
|
286
304
|
table.insert(optionalValues, "parent")
|
287
305
|
table.insert(optionalValues, parentData)
|
288
306
|
end
|
289
|
-
if repeatJobKey
|
307
|
+
if repeatJobKey then
|
290
308
|
table.insert(optionalValues, "rjk")
|
291
309
|
table.insert(optionalValues, repeatJobKey)
|
292
310
|
end
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkWf,CAAC;AACW,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,cAAc;IACpB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -78,25 +78,25 @@ local function addJobWithPriority(markerKey, prioritizedKey, priority, jobId, pr
|
|
78
78
|
end
|
79
79
|
--[[
|
80
80
|
Function to debounce a job.
|
81
|
-
]]
|
81
|
+
]]
|
82
82
|
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
83
83
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
84
84
|
if deduplicationId then
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
85
|
+
local ttl = deduplicationOpts['ttl']
|
86
|
+
local deduplicationKeyExists
|
87
|
+
if ttl then
|
88
|
+
deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'PX', ttl, 'NX')
|
89
|
+
else
|
90
|
+
deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'NX')
|
91
|
+
end
|
92
|
+
if deduplicationKeyExists then
|
93
|
+
local currentDebounceJobId = rcall('GET', deduplicationKey)
|
94
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced", "jobId", currentDebounceJobId,
|
95
|
+
"debounceId", deduplicationId)
|
96
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
|
97
|
+
currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
|
98
|
+
return currentDebounceJobId
|
99
|
+
end
|
100
100
|
end
|
101
101
|
end
|
102
102
|
--[[
|
@@ -115,7 +115,7 @@ local function storeJob(eventsKey, jobIdKey, jobId, name, data, opts, timestamp,
|
|
115
115
|
table.insert(optionalValues, "parent")
|
116
116
|
table.insert(optionalValues, parentData)
|
117
117
|
end
|
118
|
-
if repeatJobKey
|
118
|
+
if repeatJobKey then
|
119
119
|
table.insert(optionalValues, "rjk")
|
120
120
|
table.insert(optionalValues, repeatJobKey)
|
121
121
|
end
|
@@ -156,7 +156,16 @@ end
|
|
156
156
|
]]
|
157
157
|
-- Includes
|
158
158
|
--[[
|
159
|
-
Validate and move parent to
|
159
|
+
Validate and move parent to a wait status (waiting, delayed or prioritized)
|
160
|
+
if no pending dependencies.
|
161
|
+
]]
|
162
|
+
-- Includes
|
163
|
+
--[[
|
164
|
+
Validate and move parent to a wait status (waiting, delayed or prioritized) if needed.
|
165
|
+
]]
|
166
|
+
-- Includes
|
167
|
+
--[[
|
168
|
+
Move parent to a wait status (wait, prioritized or delayed)
|
160
169
|
]]
|
161
170
|
-- Includes
|
162
171
|
--[[
|
@@ -227,51 +236,60 @@ local function getTargetQueueList(queueMetaKey, activeKey, waitKey, pausedKey)
|
|
227
236
|
end
|
228
237
|
return waitKey, false
|
229
238
|
end
|
230
|
-
local function
|
231
|
-
|
232
|
-
local
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
local
|
243
|
-
local
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
239
|
+
local function moveParentToWait(parentQueueKey, parentKey, parentId, timestamp)
|
240
|
+
local parentWaitKey = parentQueueKey .. ":wait"
|
241
|
+
local parentPausedKey = parentQueueKey .. ":paused"
|
242
|
+
local parentActiveKey = parentQueueKey .. ":active"
|
243
|
+
local parentMetaKey = parentQueueKey .. ":meta"
|
244
|
+
local parentMarkerKey = parentQueueKey .. ":marker"
|
245
|
+
local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
|
246
|
+
local priority = tonumber(jobAttributes[1]) or 0
|
247
|
+
local delay = tonumber(jobAttributes[2]) or 0
|
248
|
+
-- ignore dependencies if any left
|
249
|
+
rcall("HSET", parentKey, "igdp", 1)
|
250
|
+
if delay > 0 then
|
251
|
+
local delayedTimestamp = tonumber(timestamp) + delay
|
252
|
+
local score = delayedTimestamp * 0x1000
|
253
|
+
local parentDelayedKey = parentQueueKey .. ":delayed"
|
254
|
+
rcall("ZADD", parentDelayedKey, score, parentId)
|
255
|
+
rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed", "jobId", parentId, "delay",
|
256
|
+
delayedTimestamp)
|
257
|
+
addDelayMarkerIfNeeded(parentMarkerKey, parentDelayedKey)
|
258
|
+
else
|
259
|
+
if priority == 0 then
|
260
|
+
local parentTarget, isParentPausedOrMaxed = getTargetQueueList(parentMetaKey, parentActiveKey,
|
261
|
+
parentWaitKey, parentPausedKey)
|
262
|
+
addJobInTargetList(parentTarget, parentMarkerKey, "RPUSH", isParentPausedOrMaxed, parentId)
|
252
263
|
else
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
parentPausedKey)
|
257
|
-
addJobInTargetList(parentTarget, parentMarkerKey, "RPUSH", isParentPausedOrMaxed,
|
258
|
-
parentId)
|
259
|
-
else
|
260
|
-
local isPausedOrMaxed = isQueuePausedOrMaxed(parentMetaKey, parentActiveKey)
|
261
|
-
addJobWithPriority(parentMarkerKey,
|
262
|
-
parentQueueKey .. ":prioritized", priority,
|
263
|
-
parentId, parentQueueKey .. ":pc", isPausedOrMaxed)
|
264
|
-
end
|
265
|
-
rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting",
|
266
|
-
"jobId", parentId, "prev", "waiting-children")
|
264
|
+
local isPausedOrMaxed = isQueuePausedOrMaxed(parentMetaKey, parentActiveKey)
|
265
|
+
addJobWithPriority(parentMarkerKey, parentQueueKey .. ":prioritized", priority, parentId,
|
266
|
+
parentQueueKey .. ":pc", isPausedOrMaxed)
|
267
267
|
end
|
268
|
+
rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting", "jobId", parentId, "prev",
|
269
|
+
"waiting-children")
|
268
270
|
end
|
269
271
|
end
|
272
|
+
local function moveParentToWaitIfNeeded(parentQueueKey, parentKey, parentId, timestamp)
|
273
|
+
if rcall("EXISTS", parentKey) == 1 then
|
274
|
+
local parentWaitingChildrenKey = parentQueueKey .. ":waiting-children"
|
275
|
+
if rcall("ZSCORE", parentWaitingChildrenKey, parentId) then
|
276
|
+
rcall("ZREM", parentWaitingChildrenKey, parentId)
|
277
|
+
moveParentToWait(parentQueueKey, parentKey, parentId, timestamp)
|
278
|
+
end
|
279
|
+
end
|
280
|
+
end
|
281
|
+
local function moveParentToWaitIfNoPendingDependencies(parentQueueKey, parentDependenciesKey, parentKey,
|
282
|
+
parentId, timestamp)
|
283
|
+
local doNotHavePendingDependencies = rcall("SCARD", parentDependenciesKey) == 0
|
284
|
+
if doNotHavePendingDependencies then
|
285
|
+
moveParentToWaitIfNeeded(parentQueueKey, parentKey, parentId, timestamp)
|
286
|
+
end
|
287
|
+
end
|
270
288
|
local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDependenciesKey,
|
271
289
|
parentId, jobIdKey, returnvalue, timestamp )
|
272
290
|
local processedSet = parentKey .. ":processed"
|
273
291
|
rcall("HSET", processedSet, jobIdKey, returnvalue)
|
274
|
-
|
292
|
+
moveParentToWaitIfNoPendingDependencies(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
|
275
293
|
end
|
276
294
|
local function updateExistingJobsParent(parentKey, parent, parentData,
|
277
295
|
parentDependenciesKey, completedKey,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addPrioritizedJob-8.js","sourceRoot":"","sources":["../../../src/scripts/addPrioritizedJob-8.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addPrioritizedJob-8.js","sourceRoot":"","sources":["../../../src/scripts/addPrioritizedJob-8.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Wf,CAAC;AACW,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,mBAAmB;IACzB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -32,13 +32,18 @@ local prefixKey = ARGV[5]
|
|
32
32
|
]]
|
33
33
|
-- Includes
|
34
34
|
--[[
|
35
|
-
Function to remove deduplication key
|
35
|
+
Function to remove deduplication key if needed
|
36
|
+
when a job is being removed.
|
36
37
|
]]
|
37
|
-
local function
|
38
|
+
local function removeDeduplicationKeyIfNeededOnRemoval(prefixKey,
|
39
|
+
jobKey, jobId)
|
38
40
|
local deduplicationId = rcall("HGET", jobKey, "deid")
|
39
41
|
if deduplicationId then
|
40
42
|
local deduplicationKey = prefixKey .. "de:" .. deduplicationId
|
41
|
-
rcall(
|
43
|
+
local currentJobId = rcall('GET', deduplicationKey)
|
44
|
+
if currentJobId and currentJobId == jobId then
|
45
|
+
return rcall("DEL", deduplicationKey)
|
46
|
+
end
|
42
47
|
end
|
43
48
|
end
|
44
49
|
--[[
|
@@ -100,7 +105,7 @@ local function getTargetQueueList(queueMetaKey, activeKey, waitKey, pausedKey)
|
|
100
105
|
end
|
101
106
|
return waitKey, false
|
102
107
|
end
|
103
|
-
local function
|
108
|
+
local function _moveParentToWait(parentPrefix, parentId, emitEvent)
|
104
109
|
local parentTarget, isPausedOrMaxed = getTargetQueueList(parentPrefix .. "meta", parentPrefix .. "active",
|
105
110
|
parentPrefix .. "wait", parentPrefix .. "paused")
|
106
111
|
addJobInTargetList(parentTarget, parentPrefix .. "marker", "RPUSH", isPausedOrMaxed, parentId)
|
@@ -128,10 +133,10 @@ local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey, debou
|
|
128
133
|
rcall("DEL", parentPrefix .. "de:" .. debounceId)
|
129
134
|
end
|
130
135
|
else
|
131
|
-
|
136
|
+
_moveParentToWait(parentPrefix, parentId)
|
132
137
|
end
|
133
138
|
else
|
134
|
-
|
139
|
+
_moveParentToWait(parentPrefix, parentId, true)
|
135
140
|
end
|
136
141
|
end
|
137
142
|
end
|
@@ -159,10 +164,10 @@ local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey, debou
|
|
159
164
|
rcall("DEL", parentPrefix .. "de:" .. parentAttributes[2])
|
160
165
|
end
|
161
166
|
else
|
162
|
-
|
167
|
+
_moveParentToWait(parentPrefix, parentId)
|
163
168
|
end
|
164
169
|
else
|
165
|
-
|
170
|
+
_moveParentToWait(parentPrefix, parentId, true)
|
166
171
|
end
|
167
172
|
end
|
168
173
|
end
|
@@ -176,7 +181,7 @@ local function removeJob(jobId, hard, baseKey, shouldRemoveDeduplicationKey)
|
|
176
181
|
local jobKey = baseKey .. jobId
|
177
182
|
removeParentDependencyKey(jobKey, hard, nil, baseKey)
|
178
183
|
if shouldRemoveDeduplicationKey then
|
179
|
-
|
184
|
+
removeDeduplicationKeyIfNeededOnRemoval(baseKey, jobKey, jobId)
|
180
185
|
end
|
181
186
|
removeJobKeys(jobKey)
|
182
187
|
end
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addRepeatableJob-2.js","sourceRoot":"","sources":["../../../src/scripts/addRepeatableJob-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addRepeatableJob-2.js","sourceRoot":"","sources":["../../../src/scripts/addRepeatableJob-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiOf,CAAC;AACW,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,kBAAkB;IACxB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -72,25 +72,25 @@ local function addJobInTargetList(targetKey, markerKey, pushCmd, isPausedOrMaxed
|
|
72
72
|
end
|
73
73
|
--[[
|
74
74
|
Function to debounce a job.
|
75
|
-
]]
|
75
|
+
]]
|
76
76
|
local function deduplicateJob(deduplicationOpts, jobId, deduplicationKey, eventsKey, maxEvents)
|
77
77
|
local deduplicationId = deduplicationOpts and deduplicationOpts['id']
|
78
78
|
if deduplicationId then
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
79
|
+
local ttl = deduplicationOpts['ttl']
|
80
|
+
local deduplicationKeyExists
|
81
|
+
if ttl then
|
82
|
+
deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'PX', ttl, 'NX')
|
83
|
+
else
|
84
|
+
deduplicationKeyExists = not rcall('SET', deduplicationKey, jobId, 'NX')
|
85
|
+
end
|
86
|
+
if deduplicationKeyExists then
|
87
|
+
local currentDebounceJobId = rcall('GET', deduplicationKey)
|
88
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "debounced", "jobId", currentDebounceJobId,
|
89
|
+
"debounceId", deduplicationId)
|
90
|
+
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event", "deduplicated", "jobId",
|
91
|
+
currentDebounceJobId, "deduplicationId", deduplicationId, "deduplicatedJobId", jobId)
|
92
|
+
return currentDebounceJobId
|
93
|
+
end
|
94
94
|
end
|
95
95
|
end
|
96
96
|
--[[
|
@@ -140,7 +140,16 @@ end
|
|
140
140
|
]]
|
141
141
|
-- Includes
|
142
142
|
--[[
|
143
|
-
Validate and move parent to
|
143
|
+
Validate and move parent to a wait status (waiting, delayed or prioritized)
|
144
|
+
if no pending dependencies.
|
145
|
+
]]
|
146
|
+
-- Includes
|
147
|
+
--[[
|
148
|
+
Validate and move parent to a wait status (waiting, delayed or prioritized) if needed.
|
149
|
+
]]
|
150
|
+
-- Includes
|
151
|
+
--[[
|
152
|
+
Move parent to a wait status (wait, prioritized or delayed)
|
144
153
|
]]
|
145
154
|
-- Includes
|
146
155
|
--[[
|
@@ -200,51 +209,60 @@ local function isQueuePausedOrMaxed(queueMetaKey, activeKey)
|
|
200
209
|
end
|
201
210
|
return false
|
202
211
|
end
|
203
|
-
local function
|
204
|
-
|
205
|
-
local
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
local
|
216
|
-
local
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
212
|
+
local function moveParentToWait(parentQueueKey, parentKey, parentId, timestamp)
|
213
|
+
local parentWaitKey = parentQueueKey .. ":wait"
|
214
|
+
local parentPausedKey = parentQueueKey .. ":paused"
|
215
|
+
local parentActiveKey = parentQueueKey .. ":active"
|
216
|
+
local parentMetaKey = parentQueueKey .. ":meta"
|
217
|
+
local parentMarkerKey = parentQueueKey .. ":marker"
|
218
|
+
local jobAttributes = rcall("HMGET", parentKey, "priority", "delay")
|
219
|
+
local priority = tonumber(jobAttributes[1]) or 0
|
220
|
+
local delay = tonumber(jobAttributes[2]) or 0
|
221
|
+
-- ignore dependencies if any left
|
222
|
+
rcall("HSET", parentKey, "igdp", 1)
|
223
|
+
if delay > 0 then
|
224
|
+
local delayedTimestamp = tonumber(timestamp) + delay
|
225
|
+
local score = delayedTimestamp * 0x1000
|
226
|
+
local parentDelayedKey = parentQueueKey .. ":delayed"
|
227
|
+
rcall("ZADD", parentDelayedKey, score, parentId)
|
228
|
+
rcall("XADD", parentQueueKey .. ":events", "*", "event", "delayed", "jobId", parentId, "delay",
|
229
|
+
delayedTimestamp)
|
230
|
+
addDelayMarkerIfNeeded(parentMarkerKey, parentDelayedKey)
|
231
|
+
else
|
232
|
+
if priority == 0 then
|
233
|
+
local parentTarget, isParentPausedOrMaxed = getTargetQueueList(parentMetaKey, parentActiveKey,
|
234
|
+
parentWaitKey, parentPausedKey)
|
235
|
+
addJobInTargetList(parentTarget, parentMarkerKey, "RPUSH", isParentPausedOrMaxed, parentId)
|
225
236
|
else
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
parentPausedKey)
|
230
|
-
addJobInTargetList(parentTarget, parentMarkerKey, "RPUSH", isParentPausedOrMaxed,
|
231
|
-
parentId)
|
232
|
-
else
|
233
|
-
local isPausedOrMaxed = isQueuePausedOrMaxed(parentMetaKey, parentActiveKey)
|
234
|
-
addJobWithPriority(parentMarkerKey,
|
235
|
-
parentQueueKey .. ":prioritized", priority,
|
236
|
-
parentId, parentQueueKey .. ":pc", isPausedOrMaxed)
|
237
|
-
end
|
238
|
-
rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting",
|
239
|
-
"jobId", parentId, "prev", "waiting-children")
|
237
|
+
local isPausedOrMaxed = isQueuePausedOrMaxed(parentMetaKey, parentActiveKey)
|
238
|
+
addJobWithPriority(parentMarkerKey, parentQueueKey .. ":prioritized", priority, parentId,
|
239
|
+
parentQueueKey .. ":pc", isPausedOrMaxed)
|
240
240
|
end
|
241
|
+
rcall("XADD", parentQueueKey .. ":events", "*", "event", "waiting", "jobId", parentId, "prev",
|
242
|
+
"waiting-children")
|
241
243
|
end
|
242
244
|
end
|
245
|
+
local function moveParentToWaitIfNeeded(parentQueueKey, parentKey, parentId, timestamp)
|
246
|
+
if rcall("EXISTS", parentKey) == 1 then
|
247
|
+
local parentWaitingChildrenKey = parentQueueKey .. ":waiting-children"
|
248
|
+
if rcall("ZSCORE", parentWaitingChildrenKey, parentId) then
|
249
|
+
rcall("ZREM", parentWaitingChildrenKey, parentId)
|
250
|
+
moveParentToWait(parentQueueKey, parentKey, parentId, timestamp)
|
251
|
+
end
|
252
|
+
end
|
253
|
+
end
|
254
|
+
local function moveParentToWaitIfNoPendingDependencies(parentQueueKey, parentDependenciesKey, parentKey,
|
255
|
+
parentId, timestamp)
|
256
|
+
local doNotHavePendingDependencies = rcall("SCARD", parentDependenciesKey) == 0
|
257
|
+
if doNotHavePendingDependencies then
|
258
|
+
moveParentToWaitIfNeeded(parentQueueKey, parentKey, parentId, timestamp)
|
259
|
+
end
|
260
|
+
end
|
243
261
|
local function updateParentDepsIfNeeded(parentKey, parentQueueKey, parentDependenciesKey,
|
244
262
|
parentId, jobIdKey, returnvalue, timestamp )
|
245
263
|
local processedSet = parentKey .. ":processed"
|
246
264
|
rcall("HSET", processedSet, jobIdKey, returnvalue)
|
247
|
-
|
265
|
+
moveParentToWaitIfNoPendingDependencies(parentQueueKey, parentDependenciesKey, parentKey, parentId, timestamp)
|
248
266
|
end
|
249
267
|
local function updateExistingJobsParent(parentKey, parent, parentData,
|
250
268
|
parentDependenciesKey, completedKey,
|
@@ -296,7 +314,7 @@ local function storeJob(eventsKey, jobIdKey, jobId, name, data, opts, timestamp,
|
|
296
314
|
table.insert(optionalValues, "parent")
|
297
315
|
table.insert(optionalValues, parentData)
|
298
316
|
end
|
299
|
-
if repeatJobKey
|
317
|
+
if repeatJobKey then
|
300
318
|
table.insert(optionalValues, "rjk")
|
301
319
|
table.insert(optionalValues, repeatJobKey)
|
302
320
|
end
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"addStandardJob-8.js","sourceRoot":"","sources":["../../../src/scripts/addStandardJob-8.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG
|
1
|
+
{"version":3,"file":"addStandardJob-8.js","sourceRoot":"","sources":["../../../src/scripts/addStandardJob-8.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgXf,CAAC;AACW,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|