Packages
verk
1.1.1
1.7.3
1.7.2
1.7.1
1.7.0
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.0
1.4.1
1.4.0
1.3.0
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.2
1.0.1
1.0.0
0.14.1
0.14.0
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.0
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
Verk is a job processing system backed by Redis.
Current section
Files
Jump to
Current section
Files
priv/enqueue_retriable_job.lua
local job = redis.call("ZRANGEBYSCORE", KEYS[1], "-inf", ARGV[1], "limit", 0, 1)[1]
if job then
local decoded = cjson.decode(job)
local queue = decoded["queue"]
if queue then
local queue_key = string.format('queue:%s', queue)
local enqueued_at = decoded["enqueued_at"]
if not enqueued_at then
decoded["enqueued_at"] = ARGV[1]
end
local reencoded = cjson.encode(decoded)
redis.call("LPUSH", queue_key, reencoded)
redis.call("ZREM", KEYS[1], job)
job = reencoded
end
end
return job