Sha256: d0e8d51d05ba02b78053efd3cb367f7e4001590a4bee217b195c65a14c5569ac
Contents?: true
Size: 1.82 KB
Versions: 3
Compression:
Stored size: 1.82 KB
Contents
-- Queues(0, now, [queue]) -- ----------------------- -- -- Return all the queues we know about, with how many jobs are scheduled, waiting, -- and running in that queue. If a queue name is provided, then only the appropriate -- response hash should be returned. The response is JSON: -- -- [ -- { -- 'name': 'testing', -- 'stalled': 2, -- 'waiting': 5, -- 'running': 5, -- 'scheduled': 10, -- 'depends': 5, -- 'recurring': 0 -- }, { -- ... -- } -- ] if #KEYS > 0 then error('Queues(): Got '.. #KEYS .. ' expected 0 KEYS arguments') end local now = assert(tonumber(ARGV[1]), 'Queues(): Arg "now" missing or not a number: ' .. (ARGV[1] or 'nil')) local queue = ARGV[2] local response = {} local queuenames = redis.call('zrange', 'ql:queues', 0, -1) if queue then local stalled = redis.call('zcount', 'ql:q:' .. queue .. '-locks', 0, now) response = { name = queue, waiting = redis.call('zcard', 'ql:q:' .. queue .. '-work'), stalled = stalled, running = redis.call('zcard', 'ql:q:' .. queue .. '-locks') - stalled, scheduled = redis.call('zcard', 'ql:q:' .. queue .. '-scheduled'), depends = redis.call('zcard', 'ql:q:' .. queue .. '-depends'), recurring = redis.call('zcard', 'ql:q:' .. queue .. '-recur') } else for index, qname in ipairs(queuenames) do local stalled = redis.call('zcount', 'ql:q:' .. qname .. '-locks', 0, now) table.insert(response, { name = qname, waiting = redis.call('zcard', 'ql:q:' .. qname .. '-work'), stalled = stalled, running = redis.call('zcard', 'ql:q:' .. qname .. '-locks') - stalled, scheduled = redis.call('zcard', 'ql:q:' .. qname .. '-scheduled'), depends = redis.call('zcard', 'ql:q:' .. qname .. '-depends'), recurring = redis.call('zcard', 'ql:q:' .. qname .. '-recur') }) end end return cjson.encode(response)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
qless-0.9.3 | lib/qless/qless-core/queues.lua |
qless-0.9.2 | lib/qless/qless-core/queues.lua |
qless-0.9.1 | lib/qless/qless-core/queues.lua |