45 lines
960 B
Lua
45 lines
960 B
Lua
--[[
|
|
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
|