——– BEGIN keys ——— local digest = KEYS local queued = KEYS local primed = KEYS local locked = KEYS local info = KEYS local changelog = KEYS local digests = KEYS ——– END keys ———

——– BEGIN lock arguments ——— local job_id = ARGV ——– END lock arguments ———–

——– BEGIN injected arguments ——– local current_time = tonumber(ARGV) local debug_lua = ARGV == “true” local max_history = tonumber(ARGV) local script_name = tostring(ARGV) .. “.lua” ——— END injected arguments ———

——– BEGIN local functions ——– <%= include_partial “shared/_common.lua” %> ——— END local functions ———

——– BEGIN locked.lua ——– if redis.call(“HEXISTS”, locked, job_id) == 1 then

log_debug("Locked", digest, "job_id:", job_id)
return 1

else

log_debug("NOT Locked", digest, "job_id:", job_id)
return -1

end ——— END locked.lua ———