Spring Boot 스케줄 작업
1. 스케줄 시간대 변경
기본적으로 Spring은 cron 표현식에 서버의 로컬 시간대를 사용한다. 그러나 zone 속성을 사용하여 이 시간대를 변경할 수 있다.
1
@Scheduled(cron = "0 * * * * ?", zone = "Asia/Seoul")
2. 스케줄 매개 변수 지정
이러한 스케줄을 하드 코딩하는 것은 간단하지만, 일반적으로 전체 앱을 다시 컴파일하고 다시 배포하지 않고도 스케줄을 제어할 수 있어야 한다.
Spring Expressions를 사용하여 태스크의 구성을 외부화하고 속성 파일에 저장한다.
1) fixedDelay
1
@Scheduled(fixedDelayString = "${fixedDelay.in.milliseconds}")
2) fixedRate
1
@Scheduled(fixedRateString = "${fixedRate.in.milliseconds}")
3) cron expression based
1
@Scheduled(cron = "${cron.expression}")
[출처 및 참고]
This post is licensed under CC BY 4.0 by the author.