Sha256: 2a8213064142f5045063c6cf9dc0943baec2efe0a8e953626ceefe26b1603f0d
Contents?: true
Size: 626 Bytes
Versions: 13
Compression:
Stored size: 626 Bytes
Contents
require 'aws-sdk' require 'multi_json' class Arsenicum::Queue::Sqs < Arsenicum::Queue attr_reader :sqs_queue, :via_sns def initialize(name, options = {}) super name, options sqs_args = [options[:aws_account]].tap(&:compact!) sqs = AWS::SQS.new *sqs_args @sqs_queue = sqs.queues.named(name) @via_sns = options[:via_sns] end def pick message = sqs_message = sqs_queue.receive_message return unless message message = message.as_sns_message if via_sns [MultiJson.decode(message.body), sqs_message] end def handle_success(original_message) original_message.delete end end
Version data entries
13 entries across 13 versions & 1 rubygems