46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.updateProgress = void 0;
|
|
const content = `--[[
|
|
Update job progress
|
|
Input:
|
|
KEYS[1] Job id key
|
|
KEYS[2] event stream key
|
|
KEYS[3] meta key
|
|
ARGV[1] id
|
|
ARGV[2] progress
|
|
Output:
|
|
0 - OK
|
|
-1 - Missing job.
|
|
Event:
|
|
progress(jobId, progress)
|
|
]]
|
|
local rcall = redis.call
|
|
-- Includes
|
|
--[[
|
|
Function to get max events value or set by default 10000.
|
|
]]
|
|
local function getOrSetMaxEvents(metaKey)
|
|
local maxEvents = rcall("HGET", metaKey, "opts.maxLenEvents")
|
|
if not maxEvents then
|
|
maxEvents = 10000
|
|
rcall("HSET", metaKey, "opts.maxLenEvents", maxEvents)
|
|
end
|
|
return maxEvents
|
|
end
|
|
if rcall("EXISTS", KEYS[1]) == 1 then -- // Make sure job exists
|
|
local maxEvents = getOrSetMaxEvents(KEYS[3])
|
|
rcall("HSET", KEYS[1], "progress", ARGV[2])
|
|
rcall("XADD", KEYS[2], "MAXLEN", "~", maxEvents, "*", "event", "progress",
|
|
"jobId", ARGV[1], "data", ARGV[2]);
|
|
return 0
|
|
else
|
|
return -1
|
|
end
|
|
`;
|
|
exports.updateProgress = {
|
|
name: 'updateProgress',
|
|
content,
|
|
keys: 3,
|
|
};
|
|
//# sourceMappingURL=updateProgress-3.js.map
|