Sha256: e3bfc6e93a769e9ef43c611f1d8e0e3fa93a02d5cdf2bc728c098c3e8047d887

Contents?: true

Size: 567 Bytes

Versions: 16

Compression:

Stored size: 567 Bytes

Contents

module Eventboss
  class Fetcher
    FETCH_LIMIT = 10 # maximum possible for SQS

    attr_reader :client

    def initialize(configuration)
      @client = configuration.sqs_client
    end

    def fetch(queue, limit)
      @client.receive_message(queue_url: queue.url, max_number_of_messages: max_no_of_messages(limit)).messages
    end

    def delete(queue, message)
      @client.delete_message(queue_url: queue.url, receipt_handle: message.receipt_handle)
    end

    private

    def max_no_of_messages(limit)
      [limit, FETCH_LIMIT].min
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
eventboss-1.9.2 lib/eventboss/fetcher.rb
eventboss-1.9.1 lib/eventboss/fetcher.rb
eventboss-1.9.0 lib/eventboss/fetcher.rb
eventboss-1.8.1 lib/eventboss/fetcher.rb
eventboss-1.8.0 lib/eventboss/fetcher.rb
eventboss-1.7.0 lib/eventboss/fetcher.rb
eventboss-1.5.0 lib/eventboss/fetcher.rb
eventboss-1.4.1 lib/eventboss/fetcher.rb
eventboss-1.3.5 lib/eventboss/fetcher.rb
eventboss-1.3.4 lib/eventboss/fetcher.rb
eventboss-1.3.3 lib/eventboss/fetcher.rb
eventboss-1.3.2 lib/eventboss/fetcher.rb
eventboss-1.3.1 lib/eventboss/fetcher.rb
eventboss-1.3.0 lib/eventboss/fetcher.rb
eventboss-1.2.1 lib/eventboss/fetcher.rb
eventboss-1.2.0 lib/eventboss/fetcher.rb