use of com.hotels.styx.client.healthcheck.monitors.ScheduledOriginHealthStatusMonitor in project styx by ExpediaGroup.
the class OriginHealthStatusMonitorFactory method create.
public OriginHealthStatusMonitor create(Id id, HealthCheckConfig healthCheckConfig, Supplier<OriginHealthCheckFunction> healthCheckFunction, HttpClient client) {
if (healthCheckConfig == null || !healthCheckConfig.isEnabled()) {
return new NoOriginHealthStatusMonitor();
}
ScheduledExecutorService executorService = newScheduledThreadPool(1, threadFactory(format("STYX-ORIGINS-MONITOR-%s", requireNonNull(id))));
ScheduledOriginHealthStatusMonitor healthStatusMonitor = new ScheduledOriginHealthStatusMonitor(executorService, healthCheckFunction.get(), new Schedule(healthCheckConfig.intervalMillis(), MILLISECONDS), client);
return new AnomalyExcludingOriginHealthStatusMonitor(healthStatusMonitor, healthCheckConfig.healthyThreshold(), healthCheckConfig.unhealthyThreshold());
}
Aggregations