Class: Core::Heartbeat

Inherits:
Object
  • Object
show all
Defined in:
lib/core/heartbeat.rb

Class Method Summary collapse

Class Method Details

.send(connector_settings) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/core/heartbeat.rb', line 17

def send(connector_settings)
  doc = {
      :last_seen => Time.now
  }
  if connector_settings.connector_status_allows_sync?
    connector_instance = Connectors::REGISTRY.connector(connector_settings.service_type, connector_settings.configuration)
    doc[:status] = connector_instance.is_healthy? ? Connectors::ConnectorStatus::CONNECTED : Connectors::ConnectorStatus::ERROR
    message = "Health check for 3d party service failed for connector [#{connector_settings.id}], service type [#{connector_settings.service_type}]. Check the application logs for more information."
    doc[:error] = doc[:status] == Connectors::ConnectorStatus::ERROR ? message : nil
  end

  Core::ElasticConnectorActions.update_connector_fields(connector_settings.id, doc)
end