| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- --[[
- 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
|