class Sidekiq::Uniq::Status
Constants
- KEY
Public Class Methods
clear(redis = nil)
click to toggle source
# File lib/sidekiq/uniq/status.rb, line 36 def self.clear(redis = nil) Status.redis(redis) do |conn| keys = conn.keys "#{KEY}*" keys.each{ |key| conn.del(key) } end end
expiration()
click to toggle source
# File lib/sidekiq/uniq/status.rb, line 6 def self.expiration @expiration ||= 60 * 30 end
expiration=(seconds)
click to toggle source
# File lib/sidekiq/uniq/status.rb, line 10 def self.expiration=(seconds) @expiration = seconds end
key(msg)
click to toggle source
# File lib/sidekiq/uniq/status.rb, line 14 def self.key(msg) KEY + ':' + Digest::MD5.hexdigest(msg['class'].to_s + ':' + msg['args'].inspect) end
redis(redis = nil) { |conn| ... }
click to toggle source
# File lib/sidekiq/uniq/status.rb, line 43 def self.redis(redis = nil) if redis redis.with do |conn| yield conn end else Sidekiq.redis do |conn| yield conn end end end
running_or_enqueued(msg, redis = nil)
click to toggle source
# File lib/sidekiq/uniq/status.rb, line 28 def self.running_or_enqueued(msg, redis = nil) status = '' Status.redis(redis) do |conn| status = conn.get(Status.key(msg)).to_s end (status === 'running' || status === 'enqueued') end
save_status(msg, status, redis = nil)
click to toggle source
# File lib/sidekiq/uniq/status.rb, line 18 def self.save_status(msg, status, redis = nil) Status.redis(redis) do |conn| key = Status.key(msg) conn.multi do conn.set key, status.to_s conn.expire key, Status.expiration end end end