removeJob-2.lua 960 B

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