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