Class: Connectors::ElasticSearch
- Inherits:
-
Object
- Object
- Connectors::ElasticSearch
- Defined in:
- lib/connectors/elastic_search.rb
Overview
ElasticSearch health checker
Class Method Summary collapse
-
.configured? ⇒ Boolean
rubocop:disable Naming/PredicateMethod.
Instance Method Summary collapse
Class Method Details
.configured? ⇒ Boolean
rubocop:disable Naming/PredicateMethod
30 31 32 33 34 |
# File 'lib/connectors/elastic_search.rb', line 30 def self.configured? # rubocop:disable Naming/PredicateMethod raise StandardError, 'Please make sure you have Elasticsearch installed' unless defined?(::Elasticsearch::Client) 'configured' end |
Instance Method Details
#connect ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/connectors/elastic_search.rb', line 6 def connect url = ENV.fetch('ELASTICSEARCH_URL', 'http://localhost:9200') require 'net/http' require 'uri' require 'json' uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) http.read_timeout = 2 http.open_timeout = 2 response = http.get('/_cluster/health') if response.code.to_i == 200 health_data = JSON.parse(response.body) health_data['status'] != 'red' else false end rescue StandardError => e puts "ElasticSearch Connection Error: #{e.message}" false end |