module Fluent::DetachMultiProcessMixin

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/fluent/process.rb, line 462
def initialize
  @detach_process_num = 2
  super
end

Public Instance Methods

configure(conf) click to toggle source
Calls superclass method
# File lib/fluent/process.rb, line 467
def configure(conf)
  super

  if detach_process = conf['detach_process']
    b3v = Config.bool_value(detach_process)
    case b3v
    when nil
      num = detach_process.to_i
      if num > 0
        @detach_process = true
        @detach_process_num = num
      elsif detach_process =~ /0+/
        @detach_process = false
      else
        @detach_process = true
      end
    when true
      @detach_process = true
    when false
      @detach_process = false
    end
  end

  if forward_interval = conf['detach_process_forward_interval']
    @forward_interval = Config.time_value(forward_interval)
  else
    @forward_interval = 0.5
  end
end

Private Instance Methods

detach_multi_process(&block) click to toggle source
# File lib/fluent/process.rb, line 499
def detach_multi_process(&block)
  if @detach_process
    detach_process_impl(@detach_process_num, @forward_interval, &block)
  else
    block.call
  end
end