degraded status if response time is more than 1 second

This commit is contained in:
Lee 2024-04-13 16:50:17 +01:00
parent 348edfd1ef
commit 2895525412
2 changed files with 15 additions and 1 deletions

@ -30,8 +30,22 @@ public final class CachedEndpointStatus implements Serializable {
private long cached; private long cached;
public enum Status { public enum Status {
/**
* The service is online and operational.
*/
ONLINE, ONLINE,
/**
* The service is degraded and may not be fully operational.
* <p>
* This could be due to high load or other issues.
* </p>
*/
DEGRADED, DEGRADED,
/**
* The service is offline and not operational.
*/
OFFLINE OFFLINE
} }
} }

@ -204,7 +204,7 @@ public class MojangService {
if (endpoint.getAllowedStatuses().contains(response.getStatusCode())) { if (endpoint.getAllowedStatuses().contains(response.getStatusCode())) {
online = true; online = true;
} }
if (online && System.currentTimeMillis() - start > 500) { // If the response took longer than 500ms if (online && System.currentTimeMillis() - start > 1000) { // If the response took longer than 1 second
return CachedEndpointStatus.Status.DEGRADED; return CachedEndpointStatus.Status.DEGRADED;
} }
return online ? CachedEndpointStatus.Status.ONLINE : CachedEndpointStatus.Status.OFFLINE; return online ? CachedEndpointStatus.Status.ONLINE : CachedEndpointStatus.Status.OFFLINE;