Spring에서 제공하는 스케쥴러이다. 시간에 따라 특정 작업을 할 수 있게 도와주는 기능을 한다.
이전 작업이 끝난 시점부터 시간 설정(ms)
이전 작업이 수행된 시점부터 고정 시간 설정(ms)
@Scheduled(fixedRate = 5000)
public void test() {
logger.info("5초마다 출력");
}
UNIX계열 잡 스케쥴러 표현식 작성
cron = "초 분 시 일 월 요일 [연도 - 생략가능]"
특수문자 사용
* : 모든 수
- : 두 수 사이의 값 ex) 1-5 == 1이상 5이하
, : 특정 값 지정 ex) 1, 3, 5 == 1과 3과 5
/ : 값의 증가 ex) 1/5 부터 시작해서 5마다
? : 특별한 값이 없음(월, 요일만 해당)
L : 마지막 (월, 요일만 해당)
// @Scheduled(cron = "0 * * * * *") // 매 분 0초마다
// @Scheduled(cron = "0 0 * * * *") // 정시마다
// @Scheduled(cron = "0 0 12 * * *") // 매일 12시 정각
// @Scheduled(cron = "0 0 12 1,11,21 * *") // 매달 1일, 11일, 21일 12시 정각
// @Scheduled(cron = "0 0 14 * * 2") // 월요일 14시마다
@Scheduled(cron="0 * * * * *")
public void test2() {
logger.info("매 분 0초마다 출력");
}