복붙노트

[SPRING] 봄 스케줄링 - 매일 자정에 크론 표현이 작동하지 않습니까?

SPRING

봄 스케줄링 - 매일 자정에 크론 표현이 작동하지 않습니까?

나는 자정에 매일 실행되는 Spring에서 작업을 스케쥴하려고합니다. 나는 Spring의 공식 가이드를 따라 아래와 같이 스케줄러 클래스를 만들었다 :

@Component
    public class OverduePaymentScheduler {    

        @Scheduled(cron = "0 0 0 * * *")
        public void trackOverduePayments() {

              System.out.println("Scheduled task running");

        }
    }

그러나 시계가 12시에 부딪 칠 때 작업이 실행되지 않습니다. 이 링크에서 석영 스케쥴러에 대한 설명서에서 cron 표현식을 얻었습니다.

10 초마다 실행되는 "* / 10 * * * * *"로 cron 표현식을 변경하면 스케줄러가 잘 실행됩니다.

그래서 내가 뭘 잘못하고 있니?

해결법

  1. ==============================

    1.다음은 cron 표현식에 유효한 형식입니다.

    다음은 cron 표현식에 유효한 형식입니다.

    패턴은 다음과 같습니다.

    second, minute, hour, day, month, weekday
    

    그래서 당신의 대답은 :

    0 0 0 * * *
    
  2. ==============================

    2.마침내이 cron 표현식으로 작업 할 수있게되었습니다. 0 0 0 * * * 그러나 이처럼 스케줄러 클래스에서 시간대를 설정해야했습니다. @Scheduled (cron = "0 0 0 * * *", zone = "인도 / 몰디브")

    마침내이 cron 표현식으로 작업 할 수있게되었습니다. 0 0 0 * * * 그러나 이처럼 스케줄러 클래스에서 시간대를 설정해야했습니다. @Scheduled (cron = "0 0 0 * * *", zone = "인도 / 몰디브")

  3. ==============================

    3.매일 아침 12시에 아래의 cron 패턴을 사용하십시오.

    매일 아침 12시에 아래의 cron 패턴을 사용하십시오.

        // at 12:00 AM every day
        @Scheduled(cron="0 0 0 * * ?")
    

    이 웹 사이트에서 cron 패턴을 확인했습니다 : http : //www.cronmaker.com/.

    패턴 0 0 0 * *을 유효하지 않은 것으로 표시합니다.

  4. ==============================

    4.다음 형식을 사용하여 요구 사항을 충족시킬 수 있습니다.

    다음 형식을 사용하여 요구 사항을 충족시킬 수 있습니다.

    0 0 23 * * *

    Quartz 구성에서는 시간이 0부터 23까지 시작되기 때문에. 자세한 내용은이 링크를 참조하십시오.

  5. from https://stackoverflow.com/questions/45124756/spring-scheduling-cron-expression-for-everyday-at-midnight-not-working by cc-by-sa and MIT license