1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
--[[
Remove a job from all the statuses it may be in as well as all its data.
In order to be able to remove a job, it cannot be active.
Input:
KEYS[1] jobKey
KEYS[2] repeat key
ARGV[1] jobId
ARGV[2] remove children
ARGV[3] queue prefix
Events:
'removed'
]]
local rcall = redis.call
-- Includes
--- @include "includes/isJobSchedulerJob"
--- @include "includes/isLocked"
--- @include "includes/removeJobWithChildren"
local jobId = ARGV[1]
local shouldRemoveChildren = ARGV[2]
local prefix = ARGV[3]
local jobKey = KEYS[1]
local repeatKey = KEYS[2]
if isJobSchedulerJob(jobId, jobKey, repeatKey) then
return -8
end
if not isLocked(prefix, jobId, shouldRemoveChildren) then
local options = {
removeChildren = shouldRemoveChildren == "1",
ignoreProcessed = false,
ignoreLocked = false
}
removeJobWithChildren(prefix, jobId, nil, options)
return 1
end
return 0