heartbeatEvent method

Future<void> heartbeatEvent(
  1. HeartbeatEventDto event
)

Implementation

Future<void> heartbeatEvent(HeartbeatEventDto event) async {
  final instance = Instance(
    id: event.serviceInstance,
    serviceName: event.serviceName,
    createTimestamp: event.timestamp,
    lastHeartbeat: event.timestamp,
  );

  if (!_instanceCache.contains(event.serviceInstance)) {
    await _repo.createInstanceIfNotExists(instance);
    _instanceCache.add(event.serviceInstance);
  } else {
    await _repo.updateInstance(instance);
  }

  await resolve<WatchtowerApiHubProviderImpl>().notifyServicesUpdate();
  _logService.verbose(
      'Received log event from [${event.serviceName}]/[${event.serviceInstance}].');
}