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