--[[ Get counts per provided states Input: KEYS[1] wait key KEYS[2] paused key KEYS[3] meta key KEYS[4] prioritized key ARGV[1...] priorities ]] local rcall = redis.call local results = {} local waitKey = KEYS[1] local pausedKey = KEYS[2] local prioritizedKey = KEYS[4] -- Includes --- @include "includes/isQueuePaused" for i = 1, #ARGV do local priority = tonumber(ARGV[i]) if priority == 0 then if isQueuePaused(KEYS[3]) then results[#results+1] = rcall("LLEN", pausedKey) else results[#results+1] = rcall("LLEN", waitKey) end else results[#results+1] = rcall("ZCOUNT", prioritizedKey, priority * 0x100000000, (priority + 1) * 0x100000000 - 1) end end return results