Sha256: 6d534d33e385c2027f3a9a7f512e47744ea08f27e6a1066ba204ec9d0024a3ff

Contents?: true

Size: 883 Bytes

Versions: 14

Compression:

Stored size: 883 Bytes

Contents

require 'aws-sdk-core'

module Opener
  module Daemons
    class SQS
      attr_reader :sqs, :name, :url

      def self.find(name)
        new(name)
      end

      def initialize(name)
        @sqs = Aws::SQS.new
        @name = name
        begin
          @url = sqs.get_queue_url(:queue_name=>name)[:queue_url]
        rescue Aws::SQS::Errors::NonExistentQueue => e
          STDERR.puts "Could not find queue #{name}"
          raise
        end
      end

      def send_message(message)
        sqs.send_message(:queue_url=>url, :message_body=>message)
      end

      def delete_message(handle)
        sqs.delete_message(:queue_url=>url, :receipt_handle=>handle)
      end

      def receive_messages(limit)
        result = sqs.receive_message(:queue_url=>url,
                                     :max_number_of_messages=>limit)[:messages]
      end

    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
opener-daemons-1.0.0 lib/opener/daemons/sqs.rb
opener-daemons-0.8.2 lib/opener/daemons/sqs.rb
opener-daemons-0.8.1 lib/opener/daemons/sqs.rb
opener-daemons-0.8.0 lib/opener/daemons/sqs.rb
opener-daemons-0.7.1 lib/opener/daemons/sqs.rb
opener-daemons-0.7.0 lib/opener/daemons/sqs.rb
opener-daemons-0.6.1 lib/opener/daemons/sqs.rb
opener-daemons-0.6.0 lib/opener/daemons/sqs.rb
opener-daemons-0.4.2 lib/opener/daemons/sqs.rb
opener-daemons-0.4.1 lib/opener/daemons/sqs.rb
opener-daemons-0.4.0 lib/opener/daemons/sqs.rb
opener-daemons-0.3.1 lib/opener/daemons/sqs.rb
opener-daemons-0.3.0 lib/opener/daemons/sqs.rb
opener-daemons-0.2.0 lib/opener/daemons/sqs.rb