Class: AtomicSidekiq::InFlightKeymaker

Inherits:
Object
  • Object
show all
Defined in:
lib/atomic_sidekiq/in_flight_keymaker.rb

Instance Method Summary collapse

Constructor Details

#initialize(key_prefix) ⇒ InFlightKeymaker

Returns a new instance of InFlightKeymaker.



3
4
5
# File 'lib/atomic_sidekiq/in_flight_keymaker.rb', line 3

def initialize(key_prefix)
  @key_prefix = key_prefix
end

Instance Method Details

#job_key(job) ⇒ Object



20
21
22
23
24
# File 'lib/atomic_sidekiq/in_flight_keymaker.rb', line 20

def job_key(job)
  obj = job
  obj = JSON.parse(obj) if job.is_a?(String)
  "#{key_prefix}:#{obj['queue']}:#{obj['jid']}"
end

#job_matcher(jid) ⇒ Object



26
27
28
# File 'lib/atomic_sidekiq/in_flight_keymaker.rb', line 26

def job_matcher(jid)
  "#{key_prefix}:*:#{jid}"
end

#matcherObject



7
8
9
# File 'lib/atomic_sidekiq/in_flight_keymaker.rb', line 7

def matcher
  "#{key_prefix}:*"
end

#queue_matcher(queue) ⇒ Object



16
17
18
# File 'lib/atomic_sidekiq/in_flight_keymaker.rb', line 16

def queue_matcher(queue)
  "#{queue_prefix(queue)}*"
end

#queue_prefix(queue) ⇒ Object



11
12
13
14
# File 'lib/atomic_sidekiq/in_flight_keymaker.rb', line 11

def queue_prefix(queue)
  normalized_name = queue.gsub(/queue:/, "")
  "#{key_prefix}:#{normalized_name}:"
end