bullmq 2.2.0 → 2.3.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.d.ts +1 -1
- package/dist/cjs/classes/redis-connection.d.ts +6 -2
- package/dist/cjs/classes/redis-connection.js +12 -5
- package/dist/cjs/classes/redis-connection.js.map +1 -1
- package/dist/cjs/scripts/addJob-8.d.ts +5 -0
- package/dist/{esm/commands/addJob-8.lua → cjs/scripts/addJob-8.js} +83 -31
- package/dist/cjs/scripts/addJob-8.js.map +1 -0
- package/dist/cjs/scripts/changeDelay-4.d.ts +5 -0
- package/dist/cjs/{commands/changeDelay-4.lua → scripts/changeDelay-4.js} +11 -11
- package/dist/cjs/scripts/changeDelay-4.js.map +1 -0
- package/dist/cjs/scripts/cleanJobsInSet-2.d.ts +5 -0
- package/dist/cjs/scripts/cleanJobsInSet-2.js +264 -0
- package/dist/cjs/scripts/cleanJobsInSet-2.js.map +1 -0
- package/dist/cjs/scripts/drain-4.d.ts +5 -0
- package/dist/cjs/{commands/includes/removeParentDependencyKey.lua → scripts/drain-4.js} +110 -10
- package/dist/cjs/scripts/drain-4.js.map +1 -0
- package/dist/cjs/scripts/extendLock-2.d.ts +5 -0
- package/dist/{esm/commands/extendLock-2.lua → cjs/scripts/extendLock-2.js} +11 -4
- package/dist/cjs/scripts/extendLock-2.js.map +1 -0
- package/dist/cjs/scripts/getState-7.d.ts +5 -0
- package/dist/{esm/commands/getState-7.lua → cjs/scripts/getState-7.js} +22 -12
- package/dist/cjs/scripts/getState-7.js.map +1 -0
- package/dist/cjs/scripts/getStateV2-7.d.ts +5 -0
- package/dist/cjs/{commands/getStateV2-7.lua → scripts/getStateV2-7.js} +11 -10
- package/dist/cjs/scripts/getStateV2-7.js.map +1 -0
- package/dist/cjs/scripts/index.d.ts +26 -0
- package/dist/cjs/scripts/index.js +30 -0
- package/dist/cjs/scripts/index.js.map +1 -0
- package/dist/cjs/scripts/isFinished-3.d.ts +5 -0
- package/dist/cjs/{commands/isFinished-3.lua → scripts/isFinished-3.js} +11 -10
- package/dist/cjs/scripts/isFinished-3.js.map +1 -0
- package/dist/cjs/scripts/isJobInList-1.d.ts +5 -0
- package/dist/cjs/scripts/isJobInList-1.js +32 -0
- package/dist/cjs/scripts/isJobInList-1.js.map +1 -0
- package/dist/cjs/scripts/moveStalledJobsToWait-8.d.ts +5 -0
- package/dist/cjs/scripts/moveStalledJobsToWait-8.js +291 -0
- package/dist/cjs/scripts/moveStalledJobsToWait-8.js.map +1 -0
- package/dist/cjs/scripts/moveToActive-9.d.ts +5 -0
- package/dist/cjs/scripts/moveToActive-9.js +207 -0
- package/dist/cjs/scripts/moveToActive-9.js.map +1 -0
- package/dist/cjs/scripts/moveToDelayed-5.d.ts +5 -0
- package/dist/cjs/{commands/moveToDelayed-5.lua → scripts/moveToDelayed-5.js} +11 -13
- package/dist/cjs/scripts/moveToDelayed-5.js.map +1 -0
- package/dist/cjs/scripts/moveToFinished-12.d.ts +5 -0
- package/dist/cjs/scripts/moveToFinished-12.js +538 -0
- package/dist/cjs/scripts/moveToFinished-12.js.map +1 -0
- package/dist/cjs/scripts/moveToWaitingChildren-4.d.ts +5 -0
- package/dist/cjs/{commands/moveToWaitingChildren-4.lua → scripts/moveToWaitingChildren-4.js} +11 -14
- package/dist/cjs/scripts/moveToWaitingChildren-4.js.map +1 -0
- package/dist/cjs/scripts/obliterate-2.d.ts +5 -0
- package/dist/cjs/scripts/obliterate-2.js +241 -0
- package/dist/cjs/scripts/obliterate-2.js.map +1 -0
- package/dist/cjs/scripts/pause-4.d.ts +5 -0
- package/dist/{esm/commands/pause-4.lua → cjs/scripts/pause-4.js} +11 -7
- package/dist/cjs/scripts/pause-4.js.map +1 -0
- package/dist/cjs/scripts/promote-6.d.ts +5 -0
- package/dist/cjs/{commands/promote-6.lua → scripts/promote-6.js} +22 -14
- package/dist/cjs/scripts/promote-6.js.map +1 -0
- package/dist/cjs/scripts/releaseLock-1.d.ts +5 -0
- package/dist/{esm/commands/releaseLock-1.lua → cjs/scripts/releaseLock-1.js} +11 -5
- package/dist/cjs/scripts/releaseLock-1.js.map +1 -0
- package/dist/cjs/scripts/removeJob-1.d.ts +5 -0
- package/dist/cjs/scripts/removeJob-1.js +206 -0
- package/dist/cjs/scripts/removeJob-1.js.map +1 -0
- package/dist/cjs/scripts/removeRepeatable-2.d.ts +5 -0
- package/dist/cjs/{commands/removeRepeatable-2.lua → scripts/removeRepeatable-2.js} +11 -7
- package/dist/cjs/scripts/removeRepeatable-2.js.map +1 -0
- package/dist/cjs/scripts/reprocessJob-4.d.ts +5 -0
- package/dist/{esm/commands/reprocessJob-4.lua → cjs/scripts/reprocessJob-4.js} +11 -5
- package/dist/cjs/scripts/reprocessJob-4.js.map +1 -0
- package/dist/cjs/scripts/retryJob-6.d.ts +5 -0
- package/dist/{esm/commands/retryJob-6.lua → cjs/scripts/retryJob-6.js} +22 -13
- package/dist/cjs/scripts/retryJob-6.js.map +1 -0
- package/dist/cjs/scripts/retryJobs-6.d.ts +5 -0
- package/dist/cjs/{commands/retryJobs-6.lua → scripts/retryJobs-6.js} +38 -15
- package/dist/cjs/scripts/retryJobs-6.js.map +1 -0
- package/dist/cjs/scripts/takeLock-1.d.ts +5 -0
- package/dist/cjs/{commands/takeLock-1.lua → scripts/takeLock-1.js} +11 -4
- package/dist/cjs/scripts/takeLock-1.js.map +1 -0
- package/dist/cjs/scripts/updateData-1.d.ts +5 -0
- package/dist/cjs/scripts/updateData-1.js +23 -0
- package/dist/cjs/scripts/updateData-1.js.map +1 -0
- package/dist/cjs/scripts/updateProgress-2.d.ts +5 -0
- package/dist/{esm/commands/updateProgress-2.lua → cjs/scripts/updateProgress-2.js} +11 -5
- package/dist/cjs/scripts/updateProgress-2.js.map +1 -0
- package/dist/esm/classes/job.d.ts +1 -1
- package/dist/esm/classes/redis-connection.d.ts +6 -2
- package/dist/esm/classes/redis-connection.js +12 -5
- package/dist/esm/classes/redis-connection.js.map +1 -1
- package/dist/esm/scripts/addJob-8.d.ts +5 -0
- package/dist/{cjs/commands/addJob-8.lua → esm/scripts/addJob-8.js} +80 -31
- package/dist/esm/scripts/addJob-8.js.map +1 -0
- package/dist/esm/scripts/changeDelay-4.d.ts +5 -0
- package/dist/esm/{commands/changeDelay-4.lua → scripts/changeDelay-4.js} +8 -11
- package/dist/esm/scripts/changeDelay-4.js.map +1 -0
- package/dist/esm/scripts/cleanJobsInSet-2.d.ts +5 -0
- package/dist/esm/scripts/cleanJobsInSet-2.js +261 -0
- package/dist/esm/scripts/cleanJobsInSet-2.js.map +1 -0
- package/dist/esm/scripts/drain-4.d.ts +5 -0
- package/dist/esm/{commands/includes/removeParentDependencyKey.lua → scripts/drain-4.js} +107 -10
- package/dist/esm/scripts/drain-4.js.map +1 -0
- package/dist/esm/scripts/extendLock-2.d.ts +5 -0
- package/dist/{cjs/commands/extendLock-2.lua → esm/scripts/extendLock-2.js} +8 -4
- package/dist/esm/scripts/extendLock-2.js.map +1 -0
- package/dist/esm/scripts/getState-7.d.ts +5 -0
- package/dist/{cjs/commands/getState-7.lua → esm/scripts/getState-7.js} +19 -12
- package/dist/esm/scripts/getState-7.js.map +1 -0
- package/dist/esm/scripts/getStateV2-7.d.ts +5 -0
- package/dist/esm/{commands/getStateV2-7.lua → scripts/getStateV2-7.js} +8 -10
- package/dist/esm/scripts/getStateV2-7.js.map +1 -0
- package/dist/esm/scripts/index.d.ts +26 -0
- package/dist/esm/scripts/index.js +27 -0
- package/dist/esm/scripts/index.js.map +1 -0
- package/dist/esm/scripts/isFinished-3.d.ts +5 -0
- package/dist/esm/{commands/isFinished-3.lua → scripts/isFinished-3.js} +8 -10
- package/dist/esm/scripts/isFinished-3.js.map +1 -0
- package/dist/esm/scripts/isJobInList-1.d.ts +5 -0
- package/dist/esm/scripts/isJobInList-1.js +29 -0
- package/dist/esm/scripts/isJobInList-1.js.map +1 -0
- package/dist/esm/scripts/moveStalledJobsToWait-8.d.ts +5 -0
- package/dist/esm/scripts/moveStalledJobsToWait-8.js +288 -0
- package/dist/esm/scripts/moveStalledJobsToWait-8.js.map +1 -0
- package/dist/esm/scripts/moveToActive-9.d.ts +5 -0
- package/dist/esm/scripts/moveToActive-9.js +204 -0
- package/dist/esm/scripts/moveToActive-9.js.map +1 -0
- package/dist/esm/scripts/moveToDelayed-5.d.ts +5 -0
- package/dist/esm/{commands/moveToDelayed-5.lua → scripts/moveToDelayed-5.js} +8 -13
- package/dist/esm/scripts/moveToDelayed-5.js.map +1 -0
- package/dist/esm/scripts/moveToFinished-12.d.ts +5 -0
- package/dist/esm/scripts/moveToFinished-12.js +535 -0
- package/dist/esm/scripts/moveToFinished-12.js.map +1 -0
- package/dist/esm/scripts/moveToWaitingChildren-4.d.ts +5 -0
- package/dist/esm/{commands/moveToWaitingChildren-4.lua → scripts/moveToWaitingChildren-4.js} +8 -14
- package/dist/esm/scripts/moveToWaitingChildren-4.js.map +1 -0
- package/dist/esm/scripts/obliterate-2.d.ts +5 -0
- package/dist/esm/scripts/obliterate-2.js +238 -0
- package/dist/esm/scripts/obliterate-2.js.map +1 -0
- package/dist/esm/scripts/pause-4.d.ts +5 -0
- package/dist/{cjs/commands/pause-4.lua → esm/scripts/pause-4.js} +8 -7
- package/dist/esm/scripts/pause-4.js.map +1 -0
- package/dist/esm/scripts/promote-6.d.ts +5 -0
- package/dist/esm/{commands/promote-6.lua → scripts/promote-6.js} +19 -14
- package/dist/esm/scripts/promote-6.js.map +1 -0
- package/dist/esm/scripts/releaseLock-1.d.ts +5 -0
- package/dist/{cjs/commands/releaseLock-1.lua → esm/scripts/releaseLock-1.js} +8 -5
- package/dist/esm/scripts/releaseLock-1.js.map +1 -0
- package/dist/esm/scripts/removeJob-1.d.ts +5 -0
- package/dist/esm/scripts/removeJob-1.js +203 -0
- package/dist/esm/scripts/removeJob-1.js.map +1 -0
- package/dist/esm/scripts/removeRepeatable-2.d.ts +5 -0
- package/dist/esm/{commands/removeRepeatable-2.lua → scripts/removeRepeatable-2.js} +8 -7
- package/dist/esm/scripts/removeRepeatable-2.js.map +1 -0
- package/dist/esm/scripts/reprocessJob-4.d.ts +5 -0
- package/dist/{cjs/commands/reprocessJob-4.lua → esm/scripts/reprocessJob-4.js} +8 -5
- package/dist/esm/scripts/reprocessJob-4.js.map +1 -0
- package/dist/esm/scripts/retryJob-6.d.ts +5 -0
- package/dist/{cjs/commands/retryJob-6.lua → esm/scripts/retryJob-6.js} +19 -13
- package/dist/esm/scripts/retryJob-6.js.map +1 -0
- package/dist/esm/scripts/retryJobs-6.d.ts +5 -0
- package/dist/esm/{commands/retryJobs-6.lua → scripts/retryJobs-6.js} +35 -15
- package/dist/esm/scripts/retryJobs-6.js.map +1 -0
- package/dist/esm/scripts/takeLock-1.d.ts +5 -0
- package/dist/esm/{commands/takeLock-1.lua → scripts/takeLock-1.js} +8 -4
- package/dist/esm/scripts/takeLock-1.js.map +1 -0
- package/dist/esm/scripts/updateData-1.d.ts +5 -0
- package/dist/esm/{commands/updateData-1.lua → scripts/updateData-1.js} +8 -4
- package/dist/esm/scripts/updateData-1.js.map +1 -0
- package/dist/esm/scripts/updateProgress-2.d.ts +5 -0
- package/dist/{cjs/commands/updateProgress-2.lua → esm/scripts/updateProgress-2.js} +8 -5
- package/dist/esm/scripts/updateProgress-2.js.map +1 -0
- package/package.json +4 -2
- package/dist/cjs/commands/cleanJobsInSet-2.lua +0 -46
- package/dist/cjs/commands/drain-4.lua +0 -25
- package/dist/cjs/commands/includes/addJobWithPriority.lua +0 -16
- package/dist/cjs/commands/includes/batches.lua +0 -18
- package/dist/cjs/commands/includes/checkItemInList.lua +0 -12
- package/dist/cjs/commands/includes/checkStalledJobs.lua +0 -137
- package/dist/cjs/commands/includes/cleanList.lua +0 -50
- package/dist/cjs/commands/includes/cleanSet.lua +0 -50
- package/dist/cjs/commands/includes/collectMetrics.lua +0 -46
- package/dist/cjs/commands/includes/destructureJobKey.lua +0 -12
- package/dist/cjs/commands/includes/getNextDelayedTimestamp.lua +0 -13
- package/dist/cjs/commands/includes/getTargetQueueList.lua +0 -12
- package/dist/cjs/commands/includes/getTimestamp.lua +0 -19
- package/dist/cjs/commands/includes/getZSetItems.lua +0 -7
- package/dist/cjs/commands/includes/isLocked.lua +0 -31
- package/dist/cjs/commands/includes/moveJobFromWaitToActive.lua +0 -84
- package/dist/cjs/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -25
- package/dist/cjs/commands/includes/promoteDelayedJobs.lua +0 -49
- package/dist/cjs/commands/includes/removeJob.lua +0 -13
- package/dist/cjs/commands/includes/removeJobFromAnyState.lua +0 -26
- package/dist/cjs/commands/includes/removeJobs.lua +0 -38
- package/dist/cjs/commands/includes/removeJobsByMaxAge.lua +0 -15
- package/dist/cjs/commands/includes/removeJobsByMaxCount.lua +0 -15
- package/dist/cjs/commands/includes/trimEvents.lua +0 -12
- package/dist/cjs/commands/includes/updateParentDepsIfNeeded.lua +0 -28
- package/dist/cjs/commands/isJobInList-1.lua +0 -16
- package/dist/cjs/commands/moveStalledJobsToWait-8.lua +0 -24
- package/dist/cjs/commands/moveToActive-9.lua +0 -67
- package/dist/cjs/commands/moveToFinished-12.lua +0 -201
- package/dist/cjs/commands/obliterate-2.lua +0 -94
- package/dist/cjs/commands/removeJob-1.lua +0 -72
- package/dist/cjs/commands/updateData-1.lua +0 -16
- package/dist/esm/commands/cleanJobsInSet-2.lua +0 -46
- package/dist/esm/commands/drain-4.lua +0 -25
- package/dist/esm/commands/includes/addJobWithPriority.lua +0 -16
- package/dist/esm/commands/includes/batches.lua +0 -18
- package/dist/esm/commands/includes/checkItemInList.lua +0 -12
- package/dist/esm/commands/includes/checkStalledJobs.lua +0 -137
- package/dist/esm/commands/includes/cleanList.lua +0 -50
- package/dist/esm/commands/includes/cleanSet.lua +0 -50
- package/dist/esm/commands/includes/collectMetrics.lua +0 -46
- package/dist/esm/commands/includes/destructureJobKey.lua +0 -12
- package/dist/esm/commands/includes/getNextDelayedTimestamp.lua +0 -13
- package/dist/esm/commands/includes/getTargetQueueList.lua +0 -12
- package/dist/esm/commands/includes/getTimestamp.lua +0 -19
- package/dist/esm/commands/includes/getZSetItems.lua +0 -7
- package/dist/esm/commands/includes/isLocked.lua +0 -31
- package/dist/esm/commands/includes/moveJobFromWaitToActive.lua +0 -84
- package/dist/esm/commands/includes/moveParentFromWaitingChildrenToFailed.lua +0 -25
- package/dist/esm/commands/includes/promoteDelayedJobs.lua +0 -49
- package/dist/esm/commands/includes/removeJob.lua +0 -13
- package/dist/esm/commands/includes/removeJobFromAnyState.lua +0 -26
- package/dist/esm/commands/includes/removeJobs.lua +0 -38
- package/dist/esm/commands/includes/removeJobsByMaxAge.lua +0 -15
- package/dist/esm/commands/includes/removeJobsByMaxCount.lua +0 -15
- package/dist/esm/commands/includes/trimEvents.lua +0 -12
- package/dist/esm/commands/includes/updateParentDepsIfNeeded.lua +0 -28
- package/dist/esm/commands/isJobInList-1.lua +0 -16
- package/dist/esm/commands/moveStalledJobsToWait-8.lua +0 -24
- package/dist/esm/commands/moveToActive-9.lua +0 -67
- package/dist/esm/commands/moveToFinished-12.lua +0 -201
- package/dist/esm/commands/obliterate-2.lua +0 -94
- package/dist/esm/commands/removeJob-1.lua +0 -72
@@ -1,22 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.drain = void 0;
|
4
|
+
const content = `--[[
|
5
|
+
Drains the queue, removes all jobs that are waiting
|
6
|
+
or delayed, but not active, completed or failed
|
7
|
+
Input:
|
8
|
+
KEYS[1] 'wait',
|
9
|
+
KEYS[2] 'paused'
|
10
|
+
KEYS[3] 'delayed'
|
11
|
+
KEYS[4] 'priority'
|
12
|
+
ARGV[1] queue key prefix
|
13
|
+
]]
|
14
|
+
local rcall = redis.call
|
15
|
+
local queueBaseKey = ARGV[1]
|
16
|
+
--[[
|
17
|
+
Functions to remove jobs.
|
18
|
+
]]
|
19
|
+
-- Includes
|
20
|
+
--[[
|
21
|
+
Function to loop in batches.
|
22
|
+
Just a bit of warning, some commands as ZREM
|
23
|
+
could receive a maximum of 7000 parameters per call.
|
24
|
+
]]
|
25
|
+
local function batches(n, batchSize)
|
26
|
+
local i = 0
|
27
|
+
return function()
|
28
|
+
local from = i * batchSize + 1
|
29
|
+
i = i + 1
|
30
|
+
if (from <= n) then
|
31
|
+
local to = math.min(from + batchSize - 1, n)
|
32
|
+
return from, to
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
local function getListItems(keyName, max)
|
37
|
+
return rcall('LRANGE', keyName, 0, max - 1)
|
38
|
+
end
|
39
|
+
--[[
|
40
|
+
Function to get ZSet items.
|
41
|
+
]]
|
42
|
+
local function getZSetItems(keyName, max)
|
43
|
+
return rcall('ZRANGE', keyName, 0, max - 1)
|
44
|
+
end
|
45
|
+
--[[
|
46
|
+
Function to remove job.
|
47
|
+
]]
|
48
|
+
-- Includes
|
1
49
|
--[[
|
2
50
|
Check if this job has a parent. If so we will just remove it from
|
3
51
|
the parent child list, but if it is the last child we should move the parent to "wait/paused"
|
4
52
|
which requires code from "moveToFinished"
|
5
53
|
]]
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
54
|
+
--[[
|
55
|
+
Functions to destructure job key.
|
56
|
+
Just a bit of warning, these functions may be a bit slow and affect performance significantly.
|
57
|
+
]]
|
58
|
+
local getJobIdFromKey = function (jobKey)
|
59
|
+
return string.match(jobKey, ".*:(.*)")
|
60
|
+
end
|
61
|
+
local getJobKeyPrefix = function (jobKey, jobId)
|
62
|
+
return string.sub(jobKey, 0, #jobKey - #jobId)
|
63
|
+
end
|
64
|
+
--[[
|
65
|
+
Function to check for the meta.paused key to decide if we are paused or not
|
66
|
+
(since an empty list and !EXISTS are not really the same).
|
67
|
+
]]
|
68
|
+
local function getTargetQueueList(queueMetaKey, waitKey, pausedKey)
|
69
|
+
if rcall("HEXISTS", queueMetaKey, "paused") ~= 1 then
|
70
|
+
return waitKey
|
71
|
+
else
|
72
|
+
return pausedKey
|
73
|
+
end
|
74
|
+
end
|
10
75
|
local function moveParentToWait(parentPrefix, parentId, emitEvent)
|
11
76
|
local parentTarget = getTargetQueueList(parentPrefix .. "meta", parentPrefix .. "wait", parentPrefix .. "paused")
|
12
77
|
rcall("RPUSH", parentTarget, parentId)
|
13
|
-
|
14
78
|
if emitEvent then
|
15
79
|
local parentEventStream = parentPrefix .. "events"
|
16
80
|
rcall("XADD", parentEventStream, "*", "event", "waiting", "jobId", parentId, "prev", "waiting-children")
|
17
81
|
end
|
18
82
|
end
|
19
|
-
|
20
83
|
local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey)
|
21
84
|
if parentKey then
|
22
85
|
local parentProcessedKey = parentKey .. ":processed"
|
@@ -28,9 +91,7 @@ local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey)
|
|
28
91
|
if pendingDependencies == 0 then
|
29
92
|
local parentId = getJobIdFromKey(parentKey)
|
30
93
|
local parentPrefix = getJobKeyPrefix(parentKey, parentId)
|
31
|
-
|
32
94
|
local numRemovedElements = rcall("ZREM", parentPrefix .. "waiting-children", parentId)
|
33
|
-
|
34
95
|
if numRemovedElements == 1 then
|
35
96
|
if hard then
|
36
97
|
if parentPrefix == baseKey then
|
@@ -58,9 +119,7 @@ local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey)
|
|
58
119
|
if pendingDependencies == 0 then
|
59
120
|
local parentId = getJobIdFromKey(missedParentKey)
|
60
121
|
local parentPrefix = getJobKeyPrefix(missedParentKey, parentId)
|
61
|
-
|
62
122
|
local numRemovedElements = rcall("ZREM", parentPrefix .. "waiting-children", parentId)
|
63
|
-
|
64
123
|
if numRemovedElements == 1 then
|
65
124
|
if hard then
|
66
125
|
if parentPrefix == baseKey then
|
@@ -79,3 +138,44 @@ local function removeParentDependencyKey(jobKey, hard, parentKey, baseKey)
|
|
79
138
|
end
|
80
139
|
end
|
81
140
|
end
|
141
|
+
local function removeJob(jobId, hard, baseKey)
|
142
|
+
local jobKey = baseKey .. jobId
|
143
|
+
removeParentDependencyKey(jobKey, hard, nil, baseKey)
|
144
|
+
rcall("DEL", jobKey, jobKey .. ':logs',
|
145
|
+
jobKey .. ':dependencies', jobKey .. ':processed')
|
146
|
+
end
|
147
|
+
local function removeJobs(keys, hard, baseKey, max)
|
148
|
+
for i, key in ipairs(keys) do
|
149
|
+
removeJob(key, hard, baseKey)
|
150
|
+
end
|
151
|
+
return max - #keys
|
152
|
+
end
|
153
|
+
local function removeListJobs(keyName, hard, baseKey, max)
|
154
|
+
local jobs = getListItems(keyName, max)
|
155
|
+
local count = removeJobs(jobs, hard, baseKey, max)
|
156
|
+
rcall("LTRIM", keyName, #jobs, -1)
|
157
|
+
return count
|
158
|
+
end
|
159
|
+
local function removeZSetJobs(keyName, hard, baseKey, max)
|
160
|
+
local jobs = getZSetItems(keyName, max)
|
161
|
+
local count = removeJobs(jobs, hard, baseKey, max)
|
162
|
+
if(#jobs > 0) then
|
163
|
+
for from, to in batches(#jobs, 7000) do
|
164
|
+
rcall("ZREM", keyName, unpack(jobs))
|
165
|
+
end
|
166
|
+
end
|
167
|
+
return count
|
168
|
+
end
|
169
|
+
removeListJobs(KEYS[1], true, queueBaseKey, 0) --wait
|
170
|
+
removeListJobs(KEYS[2], true, queueBaseKey, 0) --paused
|
171
|
+
if KEYS[3] ~= "" then
|
172
|
+
removeZSetJobs(KEYS[3], true, queueBaseKey, 0) --delayed
|
173
|
+
end
|
174
|
+
rcall("DEL", KEYS[4])
|
175
|
+
`;
|
176
|
+
exports.drain = {
|
177
|
+
name: 'drain',
|
178
|
+
content,
|
179
|
+
keys: 4,
|
180
|
+
};
|
181
|
+
//# sourceMappingURL=drain-4.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"drain-4.js","sourceRoot":"","sources":["../../../src/scripts/drain-4.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Kf,CAAC;AACW,QAAA,KAAK,GAAG;IACnB,IAAI,EAAE,OAAO;IACb,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -1,14 +1,14 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.extendLock = void 0;
|
4
|
+
const content = `--[[
|
2
5
|
Extend lock and removes the job from the stalled set.
|
3
|
-
|
4
6
|
Input:
|
5
7
|
KEYS[1] 'lock',
|
6
8
|
KEYS[2] 'stalled'
|
7
|
-
|
8
9
|
ARGV[1] token
|
9
10
|
ARGV[2] lock duration in milliseconds
|
10
11
|
ARGV[3] jobid
|
11
|
-
|
12
12
|
Output:
|
13
13
|
"1" if lock extented succesfully.
|
14
14
|
]]
|
@@ -21,3 +21,10 @@ if rcall("GET", KEYS[1]) == ARGV[1] then
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
return 0
|
24
|
+
`;
|
25
|
+
exports.extendLock = {
|
26
|
+
name: 'extendLock',
|
27
|
+
content,
|
28
|
+
keys: 2,
|
29
|
+
};
|
30
|
+
//# sourceMappingURL=extendLock-2.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"extendLock-2.js","sourceRoot":"","sources":["../../../src/scripts/extendLock-2.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;CAoBf,CAAC;AACW,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,YAAY;IAClB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -1,6 +1,8 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getState = void 0;
|
4
|
+
const content = `--[[
|
2
5
|
Get a job state
|
3
|
-
|
4
6
|
Input:
|
5
7
|
KEYS[1] 'completed' key,
|
6
8
|
KEYS[2] 'failed' key
|
@@ -9,7 +11,6 @@
|
|
9
11
|
KEYS[5] 'wait' key
|
10
12
|
KEYS[6] 'paused' key
|
11
13
|
KEYS[7] waitChildrenKey key
|
12
|
-
|
13
14
|
ARGV[1] job id
|
14
15
|
Output:
|
15
16
|
'completed'
|
@@ -23,35 +24,44 @@
|
|
23
24
|
if redis.call("ZSCORE", KEYS[1], ARGV[1]) ~= false then
|
24
25
|
return "completed"
|
25
26
|
end
|
26
|
-
|
27
27
|
if redis.call("ZSCORE", KEYS[2], ARGV[1]) ~= false then
|
28
28
|
return "failed"
|
29
29
|
end
|
30
|
-
|
31
30
|
if redis.call("ZSCORE", KEYS[3], ARGV[1]) ~= false then
|
32
31
|
return "delayed"
|
33
32
|
end
|
34
|
-
|
35
33
|
-- Includes
|
36
|
-
|
37
|
-
|
34
|
+
--[[
|
35
|
+
Functions to check if a item belongs to a list.
|
36
|
+
]]
|
37
|
+
local function checkItemInList(list, item)
|
38
|
+
for _, v in pairs(list) do
|
39
|
+
if v == item then
|
40
|
+
return 1
|
41
|
+
end
|
42
|
+
end
|
43
|
+
return nil
|
44
|
+
end
|
38
45
|
local active_items = redis.call("LRANGE", KEYS[4] , 0, -1)
|
39
46
|
if checkItemInList(active_items, ARGV[1]) ~= nil then
|
40
47
|
return "active"
|
41
48
|
end
|
42
|
-
|
43
49
|
local wait_items = redis.call("LRANGE", KEYS[5] , 0, -1)
|
44
50
|
if checkItemInList(wait_items, ARGV[1]) ~= nil then
|
45
51
|
return "waiting"
|
46
52
|
end
|
47
|
-
|
48
53
|
local paused_items = redis.call("LRANGE", KEYS[6] , 0, -1)
|
49
54
|
if checkItemInList(paused_items, ARGV[1]) ~= nil then
|
50
55
|
return "waiting"
|
51
56
|
end
|
52
|
-
|
53
57
|
if redis.call("ZSCORE", KEYS[7], ARGV[1]) ~= false then
|
54
58
|
return "waiting-children"
|
55
59
|
end
|
56
|
-
|
57
60
|
return "unknown"
|
61
|
+
`;
|
62
|
+
exports.getState = {
|
63
|
+
name: 'getState',
|
64
|
+
content,
|
65
|
+
keys: 7,
|
66
|
+
};
|
67
|
+
//# sourceMappingURL=getState-7.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getState-7.js","sourceRoot":"","sources":["../../../src/scripts/getState-7.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDf,CAAC;AACW,QAAA,QAAQ,GAAG;IACtB,IAAI,EAAE,UAAU;IAChB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -1,6 +1,8 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getStateV2 = void 0;
|
4
|
+
const content = `--[[
|
2
5
|
Get a job state
|
3
|
-
|
4
6
|
Input:
|
5
7
|
KEYS[1] 'completed' key,
|
6
8
|
KEYS[2] 'failed' key
|
@@ -9,7 +11,6 @@
|
|
9
11
|
KEYS[5] 'wait' key
|
10
12
|
KEYS[6] 'paused' key
|
11
13
|
KEYS[7] waitChildrenKey key
|
12
|
-
|
13
14
|
ARGV[1] job id
|
14
15
|
Output:
|
15
16
|
'completed'
|
@@ -23,29 +24,29 @@
|
|
23
24
|
if redis.call("ZSCORE", KEYS[1], ARGV[1]) ~= false then
|
24
25
|
return "completed"
|
25
26
|
end
|
26
|
-
|
27
27
|
if redis.call("ZSCORE", KEYS[2], ARGV[1]) ~= false then
|
28
28
|
return "failed"
|
29
29
|
end
|
30
|
-
|
31
30
|
if redis.call("ZSCORE", KEYS[3], ARGV[1]) ~= false then
|
32
31
|
return "delayed"
|
33
32
|
end
|
34
|
-
|
35
33
|
if redis.call("LPOS", KEYS[4] , ARGV[1]) ~= false then
|
36
34
|
return "active"
|
37
35
|
end
|
38
|
-
|
39
36
|
if redis.call("LPOS", KEYS[5] , ARGV[1]) ~= false then
|
40
37
|
return "waiting"
|
41
38
|
end
|
42
|
-
|
43
39
|
if redis.call("LPOS", KEYS[6] , ARGV[1]) ~= false then
|
44
40
|
return "waiting"
|
45
41
|
end
|
46
|
-
|
47
42
|
if redis.call("ZSCORE", KEYS[7] , ARGV[1]) ~= false then
|
48
43
|
return "waiting-children"
|
49
44
|
end
|
50
|
-
|
51
45
|
return "unknown"
|
46
|
+
`;
|
47
|
+
exports.getStateV2 = {
|
48
|
+
name: 'getStateV2',
|
49
|
+
content,
|
50
|
+
keys: 7,
|
51
|
+
};
|
52
|
+
//# sourceMappingURL=getStateV2-7.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"getStateV2-7.js","sourceRoot":"","sources":["../../../src/scripts/getStateV2-7.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Cf,CAAC;AACW,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,YAAY;IAClB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
export * from './addJob-8';
|
2
|
+
export * from './changeDelay-4';
|
3
|
+
export * from './cleanJobsInSet-2';
|
4
|
+
export * from './drain-4';
|
5
|
+
export * from './extendLock-2';
|
6
|
+
export * from './getState-7';
|
7
|
+
export * from './getStateV2-7';
|
8
|
+
export * from './isFinished-3';
|
9
|
+
export * from './isJobInList-1';
|
10
|
+
export * from './moveStalledJobsToWait-8';
|
11
|
+
export * from './moveToActive-9';
|
12
|
+
export * from './moveToDelayed-5';
|
13
|
+
export * from './moveToFinished-12';
|
14
|
+
export * from './moveToWaitingChildren-4';
|
15
|
+
export * from './obliterate-2';
|
16
|
+
export * from './pause-4';
|
17
|
+
export * from './promote-6';
|
18
|
+
export * from './releaseLock-1';
|
19
|
+
export * from './removeJob-1';
|
20
|
+
export * from './removeRepeatable-2';
|
21
|
+
export * from './reprocessJob-4';
|
22
|
+
export * from './retryJob-6';
|
23
|
+
export * from './retryJobs-6';
|
24
|
+
export * from './takeLock-1';
|
25
|
+
export * from './updateData-1';
|
26
|
+
export * from './updateProgress-2';
|
@@ -0,0 +1,30 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const tslib_1 = require("tslib");
|
4
|
+
tslib_1.__exportStar(require("./addJob-8"), exports);
|
5
|
+
tslib_1.__exportStar(require("./changeDelay-4"), exports);
|
6
|
+
tslib_1.__exportStar(require("./cleanJobsInSet-2"), exports);
|
7
|
+
tslib_1.__exportStar(require("./drain-4"), exports);
|
8
|
+
tslib_1.__exportStar(require("./extendLock-2"), exports);
|
9
|
+
tslib_1.__exportStar(require("./getState-7"), exports);
|
10
|
+
tslib_1.__exportStar(require("./getStateV2-7"), exports);
|
11
|
+
tslib_1.__exportStar(require("./isFinished-3"), exports);
|
12
|
+
tslib_1.__exportStar(require("./isJobInList-1"), exports);
|
13
|
+
tslib_1.__exportStar(require("./moveStalledJobsToWait-8"), exports);
|
14
|
+
tslib_1.__exportStar(require("./moveToActive-9"), exports);
|
15
|
+
tslib_1.__exportStar(require("./moveToDelayed-5"), exports);
|
16
|
+
tslib_1.__exportStar(require("./moveToFinished-12"), exports);
|
17
|
+
tslib_1.__exportStar(require("./moveToWaitingChildren-4"), exports);
|
18
|
+
tslib_1.__exportStar(require("./obliterate-2"), exports);
|
19
|
+
tslib_1.__exportStar(require("./pause-4"), exports);
|
20
|
+
tslib_1.__exportStar(require("./promote-6"), exports);
|
21
|
+
tslib_1.__exportStar(require("./releaseLock-1"), exports);
|
22
|
+
tslib_1.__exportStar(require("./removeJob-1"), exports);
|
23
|
+
tslib_1.__exportStar(require("./removeRepeatable-2"), exports);
|
24
|
+
tslib_1.__exportStar(require("./reprocessJob-4"), exports);
|
25
|
+
tslib_1.__exportStar(require("./retryJob-6"), exports);
|
26
|
+
tslib_1.__exportStar(require("./retryJobs-6"), exports);
|
27
|
+
tslib_1.__exportStar(require("./takeLock-1"), exports);
|
28
|
+
tslib_1.__exportStar(require("./updateData-1"), exports);
|
29
|
+
tslib_1.__exportStar(require("./updateProgress-2"), exports);
|
30
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,0DAAgC;AAChC,6DAAmC;AACnC,oDAA0B;AAC1B,yDAA+B;AAC/B,uDAA6B;AAC7B,yDAA+B;AAC/B,yDAA+B;AAC/B,0DAAgC;AAChC,oEAA0C;AAC1C,2DAAiC;AACjC,4DAAkC;AAClC,8DAAoC;AACpC,oEAA0C;AAC1C,yDAA+B;AAC/B,oDAA0B;AAC1B,sDAA4B;AAC5B,0DAAgC;AAChC,wDAA8B;AAC9B,+DAAqC;AACrC,2DAAiC;AACjC,uDAA6B;AAC7B,wDAA8B;AAC9B,uDAA6B;AAC7B,yDAA+B;AAC/B,6DAAmC"}
|
@@ -1,11 +1,12 @@
|
|
1
|
-
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isFinished = void 0;
|
4
|
+
const content = `--[[
|
2
5
|
Checks if a job is finished (.i.e. is in the completed or failed set)
|
3
|
-
|
4
6
|
Input:
|
5
7
|
KEYS[1] completed key
|
6
8
|
KEYS[2] failed key
|
7
9
|
KEYS[3] job key
|
8
|
-
|
9
10
|
ARGV[1] job id
|
10
11
|
ARGV[2] return value?
|
11
12
|
Output:
|
@@ -17,32 +18,32 @@
|
|
17
18
|
local rcall = redis.call
|
18
19
|
if rcall("EXISTS", KEYS[3]) ~= 1 then
|
19
20
|
if ARGV[2] == "1" then
|
20
|
-
|
21
21
|
return {-5,"Missing key for job " .. KEYS[3] .. ". isFinished"}
|
22
22
|
end
|
23
23
|
return -5
|
24
24
|
end
|
25
|
-
|
26
25
|
if rcall("ZSCORE", KEYS[1], ARGV[1]) ~= false then
|
27
26
|
if ARGV[2] == "1" then
|
28
27
|
local returnValue = rcall("HGET", KEYS[3], "returnvalue")
|
29
|
-
|
30
28
|
return {1,returnValue}
|
31
29
|
end
|
32
30
|
return 1
|
33
31
|
end
|
34
|
-
|
35
32
|
if rcall("ZSCORE", KEYS[2], ARGV[1]) ~= false then
|
36
33
|
if ARGV[2] == "1" then
|
37
34
|
local failedReason = rcall("HGET", KEYS[3], "failedReason")
|
38
|
-
|
39
35
|
return {2,failedReason}
|
40
36
|
end
|
41
37
|
return 2
|
42
38
|
end
|
43
|
-
|
44
39
|
if ARGV[2] == "1" then
|
45
40
|
return {0}
|
46
41
|
end
|
47
|
-
|
48
42
|
return 0
|
43
|
+
`;
|
44
|
+
exports.isFinished = {
|
45
|
+
name: 'isFinished',
|
46
|
+
content,
|
47
|
+
keys: 3,
|
48
|
+
};
|
49
|
+
//# sourceMappingURL=isFinished-3.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"isFinished-3.js","sourceRoot":"","sources":["../../../src/scripts/isFinished-3.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCf,CAAC;AACW,QAAA,UAAU,GAAG;IACxB,IAAI,EAAE,YAAY;IAClB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isJobInList = void 0;
|
4
|
+
const content = `--[[
|
5
|
+
Checks if job is in a given list.
|
6
|
+
Input:
|
7
|
+
KEYS[1]
|
8
|
+
ARGV[1]
|
9
|
+
Output:
|
10
|
+
1 if element found in the list.
|
11
|
+
]]
|
12
|
+
-- Includes
|
13
|
+
--[[
|
14
|
+
Functions to check if a item belongs to a list.
|
15
|
+
]]
|
16
|
+
local function checkItemInList(list, item)
|
17
|
+
for _, v in pairs(list) do
|
18
|
+
if v == item then
|
19
|
+
return 1
|
20
|
+
end
|
21
|
+
end
|
22
|
+
return nil
|
23
|
+
end
|
24
|
+
local items = redis.call("LRANGE", KEYS[1] , 0, -1)
|
25
|
+
return checkItemInList(items, ARGV[1])
|
26
|
+
`;
|
27
|
+
exports.isJobInList = {
|
28
|
+
name: 'isJobInList',
|
29
|
+
content,
|
30
|
+
keys: 1,
|
31
|
+
};
|
32
|
+
//# sourceMappingURL=isJobInList-1.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"isJobInList-1.js","sourceRoot":"","sources":["../../../src/scripts/isJobInList-1.ts"],"names":[],"mappings":";;;AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBf,CAAC;AACW,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,aAAa;IACnB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}
|