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 7ff0cf5..6926e6d 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,20 @@ 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); + try { + recheckPending(schedulerLimit); + } catch (Exception e) { + log.error("[PROMO-SCHEDULER] 스케줄러 실행 중 오류 발생", e); + } + } + public PromotionRecheckPendingResponse recheckPending(int limit) { List pendings = promotionGrantRepository.findPendingWithExecKey(limit);