| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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
|