class Rjob::Scripts::ScheduleJobAt
Public Instance Methods
arg_params()
click to toggle source
# File lib/rjob/scripts/schedule_job_at.rb, line 4 def arg_params %i(timestamp job prefix bucket_count) end
lua_script()
click to toggle source
# File lib/rjob/scripts/schedule_job_at.rb, line 8 def lua_script <<~LUA local timestamp = ARGV[1] local job = ARGV[2] local prefix = ARGV[3] local bucket_count = tonumber(ARGV[4]) local r = redis local job_id = r.call('incr', prefix .. ':next') local bucket = job_id % bucket_count r.call('zadd', prefix .. ':scheduled:' .. bucket, timestamp, job_id .. '!0!' .. job) return job_id LUA end