class Fluent::MonitorAgentInput::TimerWatcher

Public Class Methods

new(interval, log, &callback) click to toggle source
Calls superclass method
# File lib/fluent/plugin/in_monitor_agent.rb, line 214
def initialize(interval, log, &callback)
  @callback = callback
  @log = log

  # Avoid long shutdown time
  @num_call = 0
  if interval >= 10
    min_interval = 10
    @call_interval = interval / 10
  else
    min_interval = interval
    @call_interval = 0
  end

  super(min_interval, true)
end

Public Instance Methods

on_timer() click to toggle source
# File lib/fluent/plugin/in_monitor_agent.rb, line 231
def on_timer
  @num_call += 1
  if @num_call >= @call_interval
    @num_call = 0
    @callback.call
  end
rescue => e
  @log.error e.to_s
  @log.error_backtrace
end