Class: Fluent::EmbeddedElasticSearchInput

Inherits:
Input
  • Object
show all
Defined in:
lib/fluent/plugin/in_embedded_elasticsearch.rb

Constant Summary collapse

DIR_PATH =
File.dirname(__FILE__)

Instance Method Summary collapse

Instance Method Details

#configure(conf) ⇒ Object



17
18
19
# File 'lib/fluent/plugin/in_embedded_elasticsearch.rb', line 17

def configure(conf)
  super
end

#elasticsearch_commandObject



45
46
47
48
49
# File 'lib/fluent/plugin/in_embedded_elasticsearch.rb', line 45

def elasticsearch_command 
  elasticsearch_binary = "#{@elasticsearch_dir}/bin/elasticsearch"
  options = ["-f", "-Des.index.store=memory"] # -f ensures it runs in the (ServerEngine) foreground
  "#{elasticsearch_binary} #{options.join(" ")}"
end

#shutdownObject



36
37
38
39
40
41
42
43
# File 'lib/fluent/plugin/in_embedded_elasticsearch.rb', line 36

def shutdown
  $log.info "Shutting down ElasticSearch"

  if @process_monitor
    @process_monitor.start_graceful_stop!
    @process_monitor.join
  end
end

#startObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/fluent/plugin/in_embedded_elasticsearch.rb', line 21

def start
  @pm = ServerEngine::ProcessManager.new(
    :auto_tick => true,
    :auto_tick_interval => 1,
    :graceful_kill_interval => @graceful_kill_interval,
    :graceful_kill_interval_increment => @graceful_kill_interval_increment,
    :graceful_kill_timeout => @graceful_kill_timeout,
    :graceful_kill_signal => 'TERM',
    :immediate_kill_timeout => 0,  # disabled
  )

  $log.info "Launching ElasticSearch #{@bind}:#{@port} with #{@elasticsearch_dir}"
  @process_monitor = @pm.spawn(elasticsearch_command)
end