bullmq
Version:
Queue for messages and jobs based on Redis
39 lines • 910 B
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRateLimitTtl = void 0;
const content = `--[[
Get rate limit ttl
Input:
KEYS[1] 'limiter'
ARGV[1] maxJobs
]]
local rcall = redis.call
-- Includes
--[[
Function to get current rate limit ttl.
]]
local function getRateLimitTTL(maxJobs, rateLimiterKey)
if maxJobs and maxJobs <= tonumber(rcall("GET", rateLimiterKey) or 0) then
local pttl = rcall("PTTL", rateLimiterKey)
if pttl == 0 then
rcall("DEL", rateLimiterKey)
end
if pttl > 0 then
return pttl
end
end
return 0
end
local rateLimiterKey = KEYS[1]
if ARGV[1] ~= "0" then
return getRateLimitTTL(tonumber(ARGV[1]), rateLimiterKey)
else
return rcall("PTTL", rateLimiterKey)
end
`;
exports.getRateLimitTtl = {
name: 'getRateLimitTtl',
content,
keys: 1,
};
//# sourceMappingURL=getRateLimitTtl-1.js.map