Class: ConsoleKit::Connections::ElasticsearchConnectionHandler

Inherits:
BaseConnectionHandler show all
Defined in:
lib/console_kit/connections/elasticsearch_connection_handler.rb

Overview

Handles Elasticsearch connections

Instance Attribute Summary

Attributes inherited from BaseConnectionHandler

#context

Instance Method Summary collapse

Methods inherited from BaseConnectionHandler

#initialize, registry, #safe_diagnostics

Methods included from DiagnosticHelpers

clock_time, error_diagnostics, timeout_diagnostics

Constructor Details

This class inherits a constructor from ConsoleKit::Connections::BaseConnectionHandler

Instance Method Details

#available?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 16

def available?
  !!(defined?(Elasticsearch::Model) && Elasticsearch::Model.respond_to?(:client))
end

#connectObject



9
10
11
12
13
14
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 9

def connect
  prefix = context_attribute(:tenant_elasticsearch_prefix).presence
  Output.print_info(switch_message(prefix))
  Thread.current[:console_kit_elasticsearch_prefix] = prefix
  apply_model_index_prefix(prefix)
end

#diagnosticsObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/console_kit/connections/elasticsearch_connection_handler.rb', line 20

def diagnostics
  name = 'Elasticsearch'
  return unavailable_diagnostics(name) unless available?

  client = Elasticsearch::Model.client
  latency = measure_latency { client.ping }
  build_elasticsearch_diagnostics(client, latency)
rescue StandardError => e
  error_diagnostics(name, e)
end