class LogStash::Outputs::Rackspace

Public Instance Methods

receive(event) click to toggle source
# File lib/logstash/outputs/rackspace.rb, line 56
def receive(event)
  

  begin
    @rackspace_queue.messages.create :body => event, :ttl => @ttl
    #@rackspace_queue.messages.create :body => "some data here", :ttl => @ttl
  rescue => e
    @logger.warn("Failed to send event to rackspace cloud queues", :event => event, :exception => e,
                 :backtrace => e.backtrace)
  end

end
register() click to toggle source
# File lib/logstash/outputs/rackspace.rb, line 28
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