Parent

Methods

Class/Module Index [+]

Quicksearch

Fluent::DetachProcessManager::DelayedForwarder

Public Class Methods

new(w, interval) click to toggle source
# File lib/fluent/process.rb, line 235
def initialize(w, interval)
  @w = w
  @interval = interval
  @buffer = {}
  Thread.new(&method(:run))
end

Public Instance Methods

emit(tag, es) click to toggle source
# File lib/fluent/process.rb, line 242
def emit(tag, es)
  if ms = @buffer[tag]
    ms << es.to_msgpack_stream
  else
    @buffer[tag] = es.to_msgpack_stream
  end
end
run() click to toggle source
# File lib/fluent/process.rb, line 250
def run
  while true
    sleep @interval
    @buffer.keys.each {|tag|
      if ms = @buffer.delete(tag)
        [tag, ms].to_msgpack(@w)
        #@w.write [tag, ms].to_msgpack
      end
    }
  end
rescue
  $log.error "error on forwerder thread", :error=>$!.to_s
  $log.error_backtrace
  raise
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.