module Fluent::PluginHelper::Timer
def timer_execute(title, interval, repeat: true, &block)
def timer_execute(title, interval, repeat: true, &block) raise ArgumentError, "BUG: title must be a symbol" unless title.is_a? Symbol raise ArgumentError, "BUG: block not specified for callback" unless block_given? checker = ->(){ @_timer_running } detacher = ->(watcher){ event_loop_detach(watcher) } timer = TimerWatcher.new(title, interval, repeat, log, checker, detacher, &block) @_timers << title event_loop_attach(timer) timer end