Sha256: b0632bcc5736f43807307733711ece4ad9b7f34af32ebcb99ecf96d6c1340583

Contents?: true

Size: 467 Bytes

Versions: 1

Compression:

Stored size: 467 Bytes

Contents

# frozen_string_literal: true

class EsExperiment::Client
  include Singleton

  def connection(config, tries = 0)
    return @conn if @conn&.cluster&.health

    conn = Elasticsearch::Client.new(host: config.url)
    conn.cluster.health
    @conn = conn
  rescue Faraday::ConnectionFailed
    raise EsExperiment::ConexaoError if config.connection_tries == tries

    sleep config.time_between_connection_tries

    tries += 1
    connection(config, tries)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
es_experiment-0.1.0 lib/es_experiment/client.rb