Module: LaGear::Worker::SneakersClassMethods

Defined in:
lib/la_gear/worker.rb

Instance Method Summary collapse

Instance Method Details

#app_nameObject



29
30
31
# File 'lib/la_gear/worker.rb', line 29

def app_name
  ::Sneakers::CONFIG.fetch(:app_name, 'sneakers').underscore
end

#default_queue_argsObject



57
58
59
# File 'lib/la_gear/worker.rb', line 57

def default_queue_args
  { 'x-dead-letter-exchange' => "#{::Sneakers::CONFIG.fetch(:exchange, 'sneakers').underscore}.retry" }
end

#default_queue_nameObject



33
34
35
# File 'lib/la_gear/worker.rb', line 33

def default_queue_name
  @default_queue_name ||= "#{app_name}.#{routing_key}"
end

#default_queue_optsObject



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/la_gear/worker.rb', line 37

def default_queue_opts
  {
    routing_key: [routing_key, retry_routing_key],
    queue_options: {
      arguments: default_queue_args
    }.merge(::Sneakers::CONFIG.fetch(:global_queue_options, {})),
    handler_opts: {
      routing_key: retry_routing_key
    }
  }
end

#retry_routing_keyObject



53
54
55
# File 'lib/la_gear/worker.rb', line 53

def retry_routing_key
  "#{default_queue_name}.retry"
end

#routing_keyObject



49
50
51
# File 'lib/la_gear/worker.rb', line 49

def routing_key
  @routing_key ||= name.underscore.tr('/', '.')
end

#subscribes_to(routing_key) ⇒ Object



61
62
63
64
65
# File 'lib/la_gear/worker.rb', line 61

def subscribes_to(routing_key)
  @routing_key = routing_key.to_s
  @default_queue_name = "#{app_name}.#{name.underscore.tr('/', '.')}"
  from_queue(default_queue_name, default_queue_opts) unless Worker.sidekiq_proc?
end