handleDuplicatedJob.lua 879 B

1234567891011121314151617181920212223242526
  1. --[[
  2. Function to handle the case when job is duplicated.
  3. ]]
  4. -- Includes
  5. --- @include "updateExistingJobsParent"
  6. local function handleDuplicatedJob(jobKey, jobId, currentParentKey, currentParent,
  7. parentData, parentDependenciesKey, completedKey, eventsKey, maxEvents, timestamp)
  8. local existedParentKey = rcall("HGET", jobKey, "parentKey")
  9. if not existedParentKey or existedParentKey == currentParentKey then
  10. updateExistingJobsParent(currentParentKey, currentParent, parentData,
  11. parentDependenciesKey, completedKey, jobKey,
  12. jobId, timestamp)
  13. else
  14. if currentParentKey ~= nil and currentParentKey ~= existedParentKey
  15. and (rcall("EXISTS", existedParentKey) == 1) then
  16. return -7
  17. end
  18. end
  19. rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event",
  20. "duplicated", "jobId", jobId)
  21. return jobId .. "" -- convert to string
  22. end