Sha256: a8904141e58a619924e4c6096b26e6a60823de11a1903ca12f3bbf4330f12a9a
Contents?: true
Size: 939 Bytes
Versions: 1
Compression:
Stored size: 939 Bytes
Contents
# frozen_string_literal: true require 'aws-sdk-sqs' require 'liam/common' require 'liam/message_processor' require 'pp' module Liam class Consumer include Common def initialize(options: {}) @options = options end def self.message(*args) new(*args).send(:execute) end private attr_reader :options def execute poller.poll(poller_options) do |messages| puts "INFO -- [aws-liam] : ** Received messages: #{messages.size} ** --" messages.each do |message| pp message MessageProcessor.process(message) end end end def poller Aws::SQS::QueuePoller.new(sqs_queue, client: Aws::SQS::Client.new(client_options)) end def sqs_queue env_credentials.dig('aws', 'sqs', 'queue') end def poller_options { max_number_of_messages: options['max_message'] || options[:max_message] || 10 } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
aws-liam-0.0.7 | lib/liam/consumer.rb |