Class: AWSSQS
- Inherits:
-
Object
- Object
- AWSSQS
- Defined in:
- lib/logstash_sqs/awssqs.rb
Overview
Create a SQS endpoint.
Instance Method Summary collapse
- #add_message(message) ⇒ Object
-
#initialize(buffer_size = SettingsProvider::MAX_BUFFER_SIZE) ⇒ AWSSQS
constructor
Params buffer_size => number of messages to send per call to SQS.
Constructor Details
#initialize(buffer_size = SettingsProvider::MAX_BUFFER_SIZE) ⇒ AWSSQS
Params buffer_size => number of messages to send per call to SQS
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/logstash_sqs/awssqs.rb', line 6 def initialize(buffer_size=SettingsProvider::MAX_BUFFER_SIZE) @buffer = [] @buffer_size = buffer_size > SettingsProvider::MAX_BUFFER_SIZE ? SettingsProvider::MAX_BUFFER_SIZE : buffer_size credentials = SettingsProvider.get_credentials @client = AWS::SQS.new( :access_key_id => credentials['access_key'], :secret_access_key => credentials['secret_key'] ) @queue = @client.queues.entries.first end |
Instance Method Details
#add_message(message) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/logstash_sqs/awssqs.rb', line 23 def () begin @buffer << if (@buffer.size >= @buffer_size) @queue.batch_send(*@buffer) @buffer.clear end rescue AWS::SQS::Errors::BatchSendError => exception DaemonSpawn::Base.log_file << "Could not send the message(s)" DaemonSpawn::Base.log_file << exception.failures end end |