module Kyu::Postman
Public Class Methods
fetch_queue( queue_name, logger, error_callback )
click to toggle source
# File lib/kyu/postman.rb, line 19 def fetch_queue( queue_name, logger, error_callback ) AWS::SQS.new.queues.named( queue_name ) rescue AWS::SQS::Errors::NonExistentQueue => err logger.error( Kyu.stringify_exception( err ) ) error_callback.call( err ) nil end
included( base )
click to toggle source
# File lib/kyu/postman.rb, line 27 def included( base ) base.extend( ClassMethods ) end
send_message( queue_name, msg, options={} )
click to toggle source
# File lib/kyu/postman.rb, line 8 def send_message( queue_name, msg, options={} ) error_callback = options.fetch( :error_callback, ->( err ){} ) logger = options.fetch( :logger, Logger.new( '/dev/null' ) ) queue = fetch_queue( queue_name, logger, error_callback ) return unless queue msg_json = msg.to_json logger.info( "Sending message '#{msg_json}' to '#{queue.arn}'") queue.send_message( msg.to_json ) end