From 8e84e0efe197c6dd75436467d1dfc51daa62fac3 Mon Sep 17 00:00:00 2001 From: shash0423 Date: Sun, 8 Feb 2026 14:55:08 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=ED=94=84=EB=A1=9C=EB=AA=A8?= =?UTF-8?q?=EC=85=98=20=EC=83=81=ED=83=9C=20=EC=9E=AC=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EC=8A=A4=EC=BC=80=EC=A4=84=EB=9F=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../promotion/application/PromotionRecheckService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java b/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java index 7ff0cf5d..6c23e5a2 100644 --- a/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java +++ b/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java @@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.time.Duration; @@ -26,6 +27,15 @@ public class PromotionRecheckService { @Value("${toss.api.promotion.code}") private String promotionCode; + @Value("${toss.api.promotion.recheck.scheduler.limit}") + private int schedulerLimit; + + @Scheduled(fixedDelayString = "${toss.api.promotion.recheck.scheduler.delay-ms}") + public void scheduledRecheckPending() { + log.info("[PROMO-SCHEDULER] 스케줄러 실행"); + recheckPending(schedulerLimit); + } + public PromotionRecheckPendingResponse recheckPending(int limit) { List pendings = promotionGrantRepository.findPendingWithExecKey(limit); From a4948385231138fd083b7ab0c830834fe5cee768 Mon Sep 17 00:00:00 2001 From: shash0423 Date: Sun, 8 Feb 2026 15:13:08 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor:=20=EC=98=88=EC=99=B8=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../promotion/application/PromotionRecheckService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java b/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java index 6c23e5a2..6926e6df 100644 --- a/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java +++ b/src/main/java/OneQ/OnSurvey/global/promotion/application/PromotionRecheckService.java @@ -34,6 +34,11 @@ public class PromotionRecheckService { public void scheduledRecheckPending() { log.info("[PROMO-SCHEDULER] 스케줄러 실행"); recheckPending(schedulerLimit); + try { + recheckPending(schedulerLimit); + } catch (Exception e) { + log.error("[PROMO-SCHEDULER] 스케줄러 실행 중 오류 발생", e); + } } public PromotionRecheckPendingResponse recheckPending(int limit) {