class LogStash::Inputs::Rackspace
Public Instance Methods
close()
click to toggle source
# File lib/logstash/inputs/rackspace.rb, line 85 def close @service = nil end
register()
click to toggle source
# File lib/logstash/inputs/rackspace.rb, line 31 def register require "fog" @service = Fog::Rackspace::Queues.new( :rackspace_username => @username, # Your Rackspace Username :rackspace_api_key => @api_key, # Your Rackspace API key :rackspace_region => @region.to_sym, # Your desired region :connection_options => {} # Optional connection options ) begin @rackspace_queue = @service.queues.create :name => @queue rescue Fog::Rackspace::Queues::ServiceError => e if e.status_code == 204 @logger.warn("Queue #{@queue} already exists") else @logger.warn("something bad happened!") end # rescue end # begin @service.queues.each_with_index do |queue, index| if queue.name == @queue @rackspace_queue = @service.queues[index] break end end @logger.info("Opened connection to rackspace cloud queues") end
run(output_queue)
click to toggle source
# File lib/logstash/inputs/rackspace.rb, line 73 def run(output_queue) while !finished? claim = @rackspace_queue.claims.create :ttl => @ttl, :grace => 100, :limit => @claim if claim claim.messages.each do |message| queue_event message, output_queue end end # unless end # while !finished end
Private Instance Methods
queue_event(msg, output_queue)
click to toggle source
# File lib/logstash/inputs/rackspace.rb, line 59 def queue_event(msg, output_queue) begin @codec.decode(msg.body.to_s) do |event| decorate(event) output_queue << event end msg.destroy rescue => e # parse or event creation error @logger.error("Failed to create event", :message => msg, :exception => e, :backtrace => e.backtrace); end end