class UniqueJob::JobHistory
Public Class Methods
new(worker_class, queueing_class, ttl)
click to toggle source
# File lib/unique_job/job_history.rb, line 5 def initialize(worker_class, queueing_class, ttl) @key = "#{self.class}:#{queueing_class.name.split('::')[-1]}:#{worker_class}" @ttl = ttl end
Private Class Methods
redis()
click to toggle source
# File lib/unique_job/job_history.rb, line 43 def redis @redis ||= Redis.client(ENV['REDIS_HOST']) end
Public Instance Methods
add(val)
click to toggle source
# File lib/unique_job/job_history.rb, line 28 def add(val) redis.setex(key(val), @ttl, true) end
delete_all()
click to toggle source
# File lib/unique_job/job_history.rb, line 18 def delete_all redis.keys("#{@key}:*").each do |key| redis.del(key) end end
exists?(val)
click to toggle source
# File lib/unique_job/job_history.rb, line 24 def exists?(val) redis.exists?(key(val)) end
ttl(val = nil)
click to toggle source
# File lib/unique_job/job_history.rb, line 10 def ttl(val = nil) if val redis.ttl(key(val)) else @ttl end end
Private Instance Methods
key(val)
click to toggle source
# File lib/unique_job/job_history.rb, line 34 def key(val) "#{@key}:#{val}" end
redis()
click to toggle source
# File lib/unique_job/job_history.rb, line 38 def redis self.class.redis end