class LogStash::Inputs::Beanstalk
Public Class Methods
new(url, type, config={}, &block)
click to toggle source
Calls superclass method
LogStash::Inputs::Base::new
# File lib/logstash/inputs/beanstalk.rb, line 7 def initialize(url, type, config={}, &block) super if @url.path == "" or @url.path == "/" raise "must specify a tube for beanstalk output" end end
Public Instance Methods
register()
click to toggle source
# File lib/logstash/inputs/beanstalk.rb, line 16 def register tube = @url.path[1..-1] # Skip leading '/' port = @url.port || 11300 @beanstalk = EMJack::Connection.new(:host => @url.host, :port => port, :tube => tube) @beanstalk.each_job do |job| begin event = LogStash::Event.from_json(job.body) rescue => e @logger.warn(["Trouble parsing beanstalk job", {:error => e.message, :body => job.body, :backtrace => e.backtrace}]) @beanstalk.bury(job, 0) end receive(event) @beanstalk.delete(job) end # @beanstalk.each_job end