lib/ci/queue/redis/base.rb in ci-queue-0.1.0 vs lib/ci/queue/redis/base.rb in ci-queue-0.2.0

- old
+ new

@@ -2,11 +2,11 @@ module Queue module Redis class Base def initialize(redis:, build_id:) @redis = redis - @key = "build:#{build_id}" + @build_id = build_id end def empty? size == 0 end @@ -42,23 +42,26 @@ raise LostMaster, "The master worker is still `#{master_status}` after 10 seconds waiting." end private - attr_reader :redis + attr_reader :redis, :build_id def key(*args) - [@key, *args].join(':') + ['build', build_id, *args].join(':') end def master_status redis.get(key('master-status')) end def eval_script(script, *args) + redis.evalsha(load_script(script), *args) + end + + def load_script(script) @scripts_cache ||= {} - sha = (@scripts_cache[script] ||= redis.script(:load, script)) - redis.evalsha(sha, *args) + @scripts_cache[script] ||= redis.script(:load, script) end end end end end