Class WatchdogService

java.lang.Object
com.google.common.util.concurrent.AbstractIdleService
All Implemented Interfaces:
EngineServices.ConfigurableService<WatchdogService.WatchdogServiceConfig>, EngineServices.InfoProvidingService, com.google.common.util.concurrent.Service

@Singleton public class WatchdogService extends AbstractEngineIdleService<WatchdogService.WatchdogServiceConfig>
WatchdogService can report engine health to another engine (usually a central, dedicated watchdog), check if other runtimes are healthy (as the dedicated watchdog) and schedule/process automated updates.
  • Field Details

    • LOG

      private static final org.slf4j.Logger LOG
    • LOCALHOST_REPORT_ENGINE

      public static final String LOCALHOST_REPORT_ENGINE
      See Also:
    • CHECK_LOG_QUERY_FORMAT

      private static final String CHECK_LOG_QUERY_FORMAT
      See Also:
    • DEFAULT_CHECK_SCHEDULE

      private static final Duration DEFAULT_CHECK_SCHEDULE
    • DEFAULT_REPORT_SCHEDULE

      private static final Duration DEFAULT_REPORT_SCHEDULE
    • ENGINE_RESOLVER

      private static final VariableResolver ENGINE_RESOLVER
    • STATUS_BASE_QUERY

      private static final String STATUS_BASE_QUERY
      See Also:
    • STATUS_ENGINE_ID_QUERY_FORMAT

      private static final String STATUS_ENGINE_ID_QUERY_FORMAT
      See Also:
    • STATUS_HEALTHY_UPDATE

      private static final com.fasterxml.jackson.databind.JsonNode STATUS_HEALTHY_UPDATE
    • STATUS_LOG_PURGE

      private static final Set<String> STATUS_LOG_PURGE
    • STATUS_LOG_QUERY_FORMAT

      private static final String STATUS_LOG_QUERY_FORMAT
    • STATUS_REPLY_READER

      private static final com.fasterxml.jackson.databind.ObjectReader STATUS_REPLY_READER
    • STATUS_UNHEALTHY_UPDATE

      private static final com.fasterxml.jackson.databind.JsonNode STATUS_UNHEALTHY_UPDATE
    • STATUS_WRITER

      private static final com.fasterxml.jackson.databind.ObjectWriter STATUS_WRITER
    • UPDATE_STATUS_HEALTHY

      private static final String UPDATE_STATUS_HEALTHY
      See Also:
    • UPDATE_STATUS_UNHEALTHY

      private static final String UPDATE_STATUS_UNHEALTHY
      See Also:
    • fileService

      private final FileService fileService
    • metaService

      private final MetaService metaService
    • unhealthyEngines

      private final Set<String> unhealthyEngines
    • userService

      private final UserService userService
    • checkHandle

      private ScheduledFuture<?> checkHandle
    • checkSchedule

      private Duration checkSchedule
    • fileExpirationSub

      private io.reactivex.rxjava3.disposables.Disposable fileExpirationSub
    • httpClient

      private org.eclipse.jetty.client.HttpClient httpClient
    • restClient

      private RestClient restClient
    • retentionHandle

      private ScheduledFuture<?> retentionHandle
    • sendStatusErrorMeter

      private com.codahale.metrics.Meter sendStatusErrorMeter
    • statusHandle

      private ScheduledFuture<?> statusHandle
    • statusMeter

      private com.codahale.metrics.Meter statusMeter
    • updateStatusMeter

      private com.codahale.metrics.Meter updateStatusMeter
  • Constructor Details

  • Method Details