From 22d0796f75d3ee6605c3e804f73c5be0df5f060f Mon Sep 17 00:00:00 2001 From: Jang-DongHo Date: Tue, 29 Apr 2025 12:32:00 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Health=20Check=20=EC=8A=A4=EC=BC=80?= =?UTF-8?q?=EC=A4=84=EB=9F=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jinus/scheduler/HealthCheckScheduler.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/main/java/com/example/Jinus/scheduler/HealthCheckScheduler.java diff --git a/src/main/java/com/example/Jinus/scheduler/HealthCheckScheduler.java b/src/main/java/com/example/Jinus/scheduler/HealthCheckScheduler.java new file mode 100644 index 0000000..2443939 --- /dev/null +++ b/src/main/java/com/example/Jinus/scheduler/HealthCheckScheduler.java @@ -0,0 +1,27 @@ +package com.example.Jinus.scheduler; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.web.client.RestTemplate; +import org.springframework.stereotype.Component; +import org.springframework.beans.factory.annotation.Value; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@Component +public class HealthCheckScheduler { + private static final Logger logger = LoggerFactory.getLogger(HealthCheckScheduler.class); + + @Value("${server.port:8080}") + private int serverPort; + + private final RestTemplate restTemplate = new RestTemplate(); + + @Scheduled(fixedRate = 60000) // 60초마다 실행 + public void performHealthCheck() { + String url = "http://localhost:" + serverPort + "/actuator/health"; + try { + restTemplate.getForEntity(url, String.class); + } catch (Exception e) { + logger.error("Health check failed: {}", e.getMessage(), e); + } + } +}