--[[ Function to add job considering priority. ]] local function addJobWithPriority(priorityKey, priority, jobId, targetKey) rcall("ZADD", priorityKey, priority, jobId) local count = rcall("ZCOUNT", priorityKey, 0, priority) local len = rcall("LLEN", targetKey) local id = rcall("LINDEX", targetKey, len - (count - 1)) if id then rcall("LINSERT", targetKey, "BEFORE", id, jobId) else rcall("RPUSH", targetKey, jobId) end end