class Liam::Consumer
Attributes
options[R]
Public Class Methods
message(*args)
click to toggle source
# File lib/liam/consumer.rb, line 16 def self.message(*args) new(*args).send(:execute) end
new(options: {})
click to toggle source
# File lib/liam/consumer.rb, line 12 def initialize(options: {}) @options = options end
Private Instance Methods
execute()
click to toggle source
# File lib/liam/consumer.rb, line 24 def execute Liam.logger.info 'Consumer initialized' poller.poll(poller_options) do |messages| Liam.logger.info "Total received messages: #{messages.size}" messages.each do |message| Liam.logger.info message MessageProcessor.process(message) end end end
poller()
click to toggle source
# File lib/liam/consumer.rb, line 35 def poller Aws::SQS::QueuePoller.new(sqs_queue, client: Aws::SQS::Client.new(client_options)) end
poller_options()
click to toggle source
# File lib/liam/consumer.rb, line 43 def poller_options { max_number_of_messages: options['max_message'] || options[:max_message] || 10 } end
sqs_queue()
click to toggle source
# File lib/liam/consumer.rb, line 39 def sqs_queue env_credentials.dig('aws', 'sqs', 'queue') end