Spring Schedule 설정을 위해 시간/주기 등을 설정하는 표현식 입니다.
하단에 출처 적어 놓았습니다.cron 표현식
문자열의 좌측부터 우측까지 아래의 순서대로 의미가 있고 각 항목은 space 문자로 구분한다.
순서
|
필드명
|
사용 가능한 값
|
1
|
seconds
|
0~59 , - * /
|
2
|
minutes
|
0~59 , - * /
|
3
|
hours
|
0~23 , - * /
|
4
|
day of month
|
1~31 , - * ? / L W
|
5
|
month
|
1~12 or JAN-DEC , - * /
|
6
|
day of week
|
1-7 or SUN-SAT , - * ? / L #
|
7
|
years (optional)
|
1970~2099 , - * /
|
특수문자의 의미
기호
|
의미
|
사용 예
|
*
|
모든 수를 의미
|
seconds에서 사용하면 매초, minutes에서 사용하면 매분, hours에서 사용하면 매시간
|
?
|
해당 항목을 사용하지 않음
|
day of month에서 사용하면 월중 날짜를 지정하지 않음. day of week에서 사용하면 주중 요일을 지정하지 않음
|
-
|
기간을 설정
|
hours에서 10-12이면 10시, 11시, 12시에 동작
minutes에서 58-59이면 58분, 59분에 동작
|
,
|
특정 시간을 지정
|
day of week에서 2,4,6이면 월,수,금에만 동작함
|
/
|
시작시간과 반복 간격 설정
|
seconds위치에 0/15로 설정하면 0초에 시작해서 15초 간격으로 동작
minutes위치에 5/10으로 설정하면 5분에 시작해서 10분 간격으로 동작
|
L
|
마지막 기간에 동작
day of month, day of week에서만 사용
|
day of month에서 사용하면 해당월 마지막 날에 수행
day of week에서 사용하면 토요일에 수행
|
W
|
가장 가까운 평일 동작
day of month에만 사용
|
15W로 설정하면 15일이 토요일이면 가장 가까운 14일 금요일에 실행
15W로 설정하고 15일이 일요일이면 16일에 실행
15W로 설정하고 15일이 평일이면 15일에 실행
|
LW
|
L과 W의 조합
|
그달의 마지막 평일에 동작
|
#
|
몇 번째 주와 요일 설정
day of week에 사용
|
6#3이면 3 번째 주 금요일에 동작
4#2이면 2번째 주 수요일에 동작
|
사용 예
표현식
|
의미
|
0 0 12 * * *
|
매일 12시에 실행
|
0 15 10 * * *
|
매일 10시 15분에 실행
|
0 * 14 * * *
|
매일 14시에 0분~59분까지 매분 실행
|
0 0/5 14 * * *
|
매일 14시에 시작해서 5분 간격으로 실행
|
0 0/5 14,18 * * *
|
매일 14시, 18시에 시작해서 5분 간격으로 실행
|
0 0-5 14 * * *
|
매일 14시에 0분, 1분, 2분, 3분, 4분, 5분에 실행
|
0 0 20 ? * MON-FRI
|
월~금일 20시 0분 0초에 실행
|
0 0/5 14 * * ?
|
아무요일, 매월, 매일 14:00부터 14:05분까지 매분 0초 실행 (6번 실행됨)
|
0 15 10 ? * 6L
|
매월 마지막 금요일 아무날이나 10:15:00에 실행
|
0 15 10 15 * ?
|
아무요일, 매월 15일 10:15:00에 실행
|
* /1 * * * *
|
매 1분마다 실행
|
* /10 * * * *
|
매 10분마다 실행
|
이전 Task와 Delay 설정
표현
|
의미
|
fixed-delay
|
이전에 실행된 task의 종료시간으로부터 정의된 시간만큼 지난 후 다음 task를 실행
밀리세컨드 단위
|
fixed-rate
|
이전에 실행된 task의 시작 시간으로부터 정의된 시간만큼 지난 후 다음 task를 실행
밀리세컨드 단위
|