class LogStash::Filters::Grok::RubyTimeout

@private

Public Class Methods

new(timeout_millis) click to toggle source
# File lib/logstash/filters/grok.rb, line 542
def initialize(timeout_millis)
  # divide by float to allow fractional seconds, the Timeout class timeout value is in seconds but the underlying
  # executor resolution is in microseconds so fractional second parameter down to microseconds is possible.
  # see https://github.com/jruby/jruby/blob/9.2.7.0/core/src/main/java/org/jruby/ext/timeout/Timeout.java#L125
  @timeout_seconds = timeout_millis / 1000.0
end

Public Instance Methods

exec(&block) click to toggle source
# File lib/logstash/filters/grok.rb, line 549
def exec(&block)
  Timeout.timeout(@timeout_seconds, TimeoutError, &block)
end