module RisingDragon::SQS::Worker::ClassMethods

Public Instance Methods

emitter() click to toggle source
# File lib/rising_dragon/sqs/worker.rb, line 35
def emitter
  @emitter ||= ::RisingDragon::SQS::Emitter.new
end
register_queue(sqs_queue_name, group_name, option) click to toggle source
# File lib/rising_dragon/sqs/worker.rb, line 19
def register_queue(sqs_queue_name, group_name, option)
  concurrency = option['concurrency'] || 25
  Shoryuken.add_group(group_name, concurrency)

  weight = option['weight'] || 1
  Shoryuken.add_queue(sqs_queue_name, weight, group_name)
end
rising_dragon_ignore(event_name) click to toggle source
# File lib/rising_dragon/sqs/worker.rb, line 31
def rising_dragon_ignore(event_name)
  emitter.ignore(event_name)
end
rising_dragon_options(sqs_queue_name, opt = {}) click to toggle source
# File lib/rising_dragon/sqs/worker.rb, line 12
def rising_dragon_options(sqs_queue_name, opt = {})
  shoryuken_opt = { queue: sqs_queue_name, body_parser: :json, auto_delete: true, shoryuken_group: 'default' }.merge(opt)
  shoryuken_options(shoryuken_opt)

  register_queue(sqs_queue_name, shoryuken_opt['shoryuken_group'], opt) # shoryuken_options will change hash key.... :(
end
rising_dragon_register(event_name, handle_class) click to toggle source
# File lib/rising_dragon/sqs/worker.rb, line 27
def rising_dragon_register(event_name, handle_class)
  emitter.register(event_name, handle_class)
end