Files
simple-mail-cleaner/backend/node_modules/bullmq/dist/esm/scripts/getRateLimitTtl-2.js
2026-01-22 15:49:12 +01:00

41 lines
974 B
JavaScript

const content = `--[[
Get rate limit ttl
Input:
KEYS[1] 'limiter'
KEYS[2] 'meta'
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
local rateLimitMax = rcall("HGET", KEYS[2], "max")
if rateLimitMax then
return getRateLimitTTL(tonumber(rateLimitMax), rateLimiterKey)
end
return rcall("PTTL", rateLimiterKey)
end
`;
export const getRateLimitTtl = {
name: 'getRateLimitTtl',
content,
keys: 2,
};
//# sourceMappingURL=getRateLimitTtl-2.js.map