28 lines
1.1 KiB
Lua
28 lines
1.1 KiB
Lua
--[[
|
|
This function is used to update the parent's dependencies if the job
|
|
is already completed and about to be ignored. The parent must get its
|
|
dependencies updated to avoid the parent job being stuck forever in
|
|
the waiting-children state.
|
|
]]
|
|
|
|
-- Includes
|
|
--- @include "updateParentDepsIfNeeded"
|
|
|
|
local function updateExistingJobsParent(parentKey, parent, parentData,
|
|
parentDependenciesKey, completedKey,
|
|
jobIdKey, jobId, timestamp)
|
|
if parentKey ~= nil then
|
|
if rcall("ZSCORE", completedKey, jobId) then
|
|
local returnvalue = rcall("HGET", jobIdKey, "returnvalue")
|
|
updateParentDepsIfNeeded(parentKey, parent['queueKey'],
|
|
parentDependenciesKey, parent['id'],
|
|
jobIdKey, returnvalue, timestamp)
|
|
else
|
|
if parentDependenciesKey ~= nil then
|
|
rcall("SADD", parentDependenciesKey, jobIdKey)
|
|
end
|
|
end
|
|
rcall("HMSET", jobIdKey, "parentKey", parentKey, "parent", parentData)
|
|
end
|
|
end
|