본문 바로가기
Java/Spring

스케줄링 사용법, 크론(cron) 표현식

by HoneyIT 2022. 6. 21.

@Scheduled

java Spring 환경에서 @Scheduled 어노테이션을 사용하여 메소드의 실행 시간/주기를 설정할 수 있다.

설정 표현식으로 cron, fixedDealy, fixedRate 등을 사용할 수 있다.

(Spring 3.1 이상부터 지원)

 

Cron 표현식

@Scheduled(cron = "* 30 12 * * *")

좌측부터 "초 분 시 일 월 년"을 나타내며 위의 식은 매 12시 30분을 의미한다.

 

순서 필드
1 seconds(초) 0 ~ 59, -, *, /
2 minutes(분) 0 ~ 59, -, *, /
3 hours(시) 0 ~ 23, -, *, /
4 day of month(일) 1 ~ 31, -, *, /, ?, L, W
5 month(월) 1 ~ 12, -, *, /
6 day of week(요일) 1 ~ 7, -, *, /, ?, L, #
7 years(년도 optional) 1970 ~ 2099, -, *, /

 

특수문자

문자 의미
* 모든 수
- 기간 설정
/ 시작시간과 반복시간 설정
? 해당 항목을 사용하지 않음
L 마지막 기간에 동작 (day of month, day of week에서만 동작)
W 가장 가까운 평일에 동작 (day of week에서만 동작)
LW 그 달의 마지막 평일에 동작
# 요일과 몇 번째 주인지 설정 (1#3 세 번째 주 월요일)

 

fixedDealy & fixedRate

@Scheduled(fixedDealy = 1000)

메소드 실행이 종료된 시점에서 1초에 한번 실행한다.

 

@Scheduled(fixedRate = 1000)

메소드 실행이 시작된 시점에서 1초에 한번 실행한다.

 

http://www.cronmaker.com/ 

 

CronMaker

 

www.cronmaker.com