27 lines
879 B
Lua
27 lines
879 B
Lua
--[[
|
|
Function to handle the case when job is duplicated.
|
|
]]
|
|
|
|
-- Includes
|
|
--- @include "updateExistingJobsParent"
|
|
|
|
local function handleDuplicatedJob(jobKey, jobId, currentParentKey, currentParent,
|
|
parentData, parentDependenciesKey, completedKey, eventsKey, maxEvents, timestamp)
|
|
local existedParentKey = rcall("HGET", jobKey, "parentKey")
|
|
|
|
if not existedParentKey or existedParentKey == currentParentKey then
|
|
updateExistingJobsParent(currentParentKey, currentParent, parentData,
|
|
parentDependenciesKey, completedKey, jobKey,
|
|
jobId, timestamp)
|
|
else
|
|
if currentParentKey ~= nil and currentParentKey ~= existedParentKey
|
|
and (rcall("EXISTS", existedParentKey) == 1) then
|
|
return -7
|
|
end
|
|
end
|
|
rcall("XADD", eventsKey, "MAXLEN", "~", maxEvents, "*", "event",
|
|
"duplicated", "jobId", jobId)
|
|
|
|
return jobId .. "" -- convert to string
|
|
end
|