Files
url_tracker_tool/node_modules/bullmq/dist/cjs/scripts/moveJobFromActiveToWait-9.js
Andrei 58f8093689 Rebrand from 'Redirect Intelligence v2' to 'URL Tracker Tool V2' throughout UI
- Updated all component headers and documentation
- Changed navbar and footer branding
- Updated homepage hero badge
- Modified page title in index.html
- Simplified footer text to 'Built with ❤️'
- Consistent V2 capitalization across all references
2025-08-19 19:12:23 +00:00

70 lines
2.0 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.moveJobFromActiveToWait = void 0;
const content = `--[[
Function to move job from active state to wait.
Input:
KEYS[1] active key
KEYS[2] wait key
KEYS[3] stalled key
KEYS[4] job lock key
KEYS[5] paused key
KEYS[6] meta key
KEYS[7] limiter key
KEYS[8] prioritized key
KEYS[9] event key
ARGV[1] job id
ARGV[2] lock token
ARGV[3] job id key
]]
local rcall = redis.call
-- Includes
--[[
Function to push back job considering priority in front of same prioritized jobs.
]]
local function pushBackJobWithPriority(prioritizedKey, priority, jobId)
-- in order to put it at front of same prioritized jobs
-- we consider prioritized counter as 0
local score = priority * 0x100000000
rcall("ZADD", prioritizedKey, score, jobId)
end
--[[
Function to check for the meta.paused key to decide if we are paused or not
(since an empty list and !EXISTS are not really the same).
]]
local function getTargetQueueList(queueMetaKey, waitKey, pausedKey)
if rcall("HEXISTS", queueMetaKey, "paused") ~= 1 then
return waitKey, false
else
return pausedKey, true
end
end
local jobId = ARGV[1]
local token = ARGV[2]
local lockKey = KEYS[4]
local lockToken = rcall("GET", lockKey)
local pttl = rcall("PTTL", KEYS[7])
if lockToken == token and pttl > 0 then
local removed = rcall("LREM", KEYS[1], 1, jobId)
if (removed > 0) then
local target = getTargetQueueList(KEYS[6], KEYS[2], KEYS[5])
rcall("SREM", KEYS[3], jobId)
local priority = tonumber(rcall("HGET", ARGV[3], "priority")) or 0
if priority > 0 then
pushBackJobWithPriority(KEYS[8], priority, jobId)
else
rcall("RPUSH", target, jobId)
end
rcall("DEL", lockKey)
-- Emit waiting event
rcall("XADD", KEYS[9], "*", "event", "waiting", "jobId", jobId)
end
end
return pttl
`;
exports.moveJobFromActiveToWait = {
name: 'moveJobFromActiveToWait',
content,
keys: 9,
};
//# sourceMappingURL=moveJobFromActiveToWait-9.js.map