Spring 작업 스케줄 링 (타이머)
1.1 임무 스케줄 링 이란 무엇 인가
기업 급 응용 에서 흔히 '계획 임무' 를 제정 하 는데 그것 이 바로 특정한 시간 에 특정한 일 을 하 는 것 이다. 핵심 은 시간 을 중심 으로 하 는 것 이다. 즉, 특정한 시간 에 시스템 이 지정 한 조작 을 수행 하 는 것 이다.흔히 볼 수 있 는 작업 스케줄 링 프레임 워 크 는 Quartz 와 SpringTask 등 이 있다.
1.2 타이머 설명 지정
@Scheduled(cron = "*/5 * * * * ?")
이 종 류 를 spring 용기 에 불 러 와 야 합 니 다.
1.3 Cron 표현 식
1.3.1 Cron 표현 식 형식
Cron 표현 식 은 문자열 입 니 다. 문자열 은 5 개 또는 6 개의 빈 칸 으로 구분 되 고 6 개 또는 7 개 도 메 인 으로 나 뉘 며 각 도 메 인 은 하나의 의 미 를 대표 합 니 다. Cron 은 다음 과 같은 두 가지 문법 형식 이 있 습 니 다.
(1)Seconds Minutes Hours DayofMonth Month DayofWeek Year
(2)Seconds Minutes Hours DayofMonth Month DayofWeek
각 필드 에 나타 날 수 있 는 문 자 는 다음 과 같 습 니 다.
Seconds: ", - * /" 네 글자 가 나타 날 수 있 으 며, 유효 범 위 는 0 - 59 의 정수 입 니 다.
Minutes: ", - * /" 네 글자 가 나타 날 수 있 으 며, 유효 범 위 는 0 - 59 의 정수 입 니 다.
Hours: ", - * /" 네 글자 가 나타 날 수 있 고 유효 범 위 는 0 - 23 의 정수 입 니 다.
Dayof Month: ", - * /? L W C" 8 글자 가 나타 날 수 있 습 니 다. 유효 범 위 는 1 - 31 의 정수 입 니 다.
Month: ", - * /" 네 글자 가 나타 날 수 있 으 며, 유효 범 위 는 1 - 12 의 정수 또는 JAN - DEC 입 니 다.
DayofWeek: ", - * /? L C \ #" 네 글자 가 나타 날 수 있 습 니 다. 유효 범 위 는 1 - 7 의 정수 나 SUN - SAT 두 범위 입 니 다.월요일
Year: ", - * /" 네 글자 가 나타 날 수 있 고 유효 범 위 는 1970 - 2099 년 입 니 다.
모든 도 메 인 은 숫자 를 사용 하지만 다음 과 같은 특수 문자 도 나타 날 수 있 습 니 다. 그들의 의 미 는:
(1) *: 이 필드 와 일치 하 는 임의의 값 을 표시 합 니 다. Minutes 필드 에서 * 를 사용 하면 분당 이벤트 가 발생 한 다 는 뜻 입 니 다.
(2)?:Dayof Month 와 Dayof Week 두 도 메 인 에 만 사용 할 수 있 습 니 다.도 메 인의 임 의 값 과 일치 하지만 실제로는 그렇지 않 습 니 다.Dayof Month 와 Dayof Week 가 서로 영향 을 주기 때문이다.예 를 들 어 매달 20 일 에 스케줄 을 촉발 하려 면 20 일이 도대체 무슨 요일 이 든 다음 과 같은 표기 법 만 사용 할 수 있다. 13, 13, 15, 20 *?그 중 마지막 한 명 은?* 를 사용 할 수 없습니다. * 를 사용 하면 요일 에 상 관 없 이 촉발 된다 는 뜻 입 니 다. 사실은 그렇지 않 습 니 다.
(3) -: 범 위 를 나타 낸다. 예 를 들 어 Minutes 역 에서 5 - 20 을 사용 하면 5 분 에서 20 분 에 한 번 씩 터치 하 는 것 을 나타 낸다.
(4) /: 시작 시간 에 트리거 를 시작 한 다음 에 고정 시간 에 한 번 씩 트리거 합 니 다. 예 를 들 어 Minutes 역 에서 5 / 20 을 사용 하면 5 분 에 한 번 촉발 하고 25, 45 등 은 각각 한 번 촉발 합 니 다.
(5): 매 거 진 값 을 표시 합 니 다.예 를 들 어 Minutes 역 에서 5, 20 을 사용 하면 5 분 과 20 분 에 한 번 씩 터치 하 는 것 을 의미한다.
(6) L: 마지막 으로 DayofWeek 와 DayofMonth 역 에 만 나타 날 수 있 음 을 표시 합 니 다. DayofWeek 역 에서 5L 을 사용 하면 마지막 목요일 에 촉발 되 는 것 을 의미 합 니 다.
(7) W: 유효 근무일 (월요일 부터 금요일) 을 표시 합 니 다. Dayof Month 역 에 만 나타 날 수 있 습 니 다. 시스템 은 지 정 된 날짜 에서 가장 가 까 운 유효 근무일 에 사건 을 촉발 합 니 다.예 를 들 어 Dayof Month 에 서 는 5W 를 사용 하고 5 일이 토요일 이면 가장 가 까 운 근무일 인 금요일, 즉 4 일 에 촉발 합 니 다.5 일이 일요일 이면 6 일 (월요일) 에 촉발 된다.5 일 월요일 부터 금요일 중 하루 가 되면 5 일 에 촉발 된다.또 하 나 는 W 의 최근 찾기 가 달 을 넘 지 않 는 다 는 점 이다.
(8) LW: 이 두 글 자 는 한 달 마지막 근무일, 즉 마지막 금요일 을 나타 낸다.
(9) \ #: 매달 몇 주 째 인지 확인 하 는 데 사용 되 며 Dayof Month 역 에 만 나타 날 수 있 습 니 다.예 를 들 어 4 \ # 2 는 어느 달 둘째 수요일 을 나타 낸다.
1.3.2 Cron 표현 식 예
0 0 10,14,16 * * ? 매일 오전 10 시, 오후 2 시, 4 시
0 0/30 9-17 * * ? 아침 9 시 5 분 근무 시간 내 30 분 마다
0 0 12 ? * WED 는 매주 수요일 낮 12 시 라 고 합 니 다.
"0, 12 * *?" 매일 낮 12 시 에 터치 합 니 다.
"0 15 10? *" 매일 오전 10: 15 촉발
"0 15 10 *?" 매일 오전 10: 15 촉발
"0 15 10 *? *" 매일 오전 10: 15 촉발
"0 15 10 *? 2005" 2005 년 의 매일 오전 10: 15 촉발
"0 * 14 * *?" 매일 오후 2 시 부터 오후 2: 59 까지 1 분 마다 촉발
"0 / 5 14 *?" 매일 오후 2 시 부터 오후 2 시 55 분 까지 5 분 마다 촉발
"0 / 5 14, 18 * *?" 매일 오후 2 시 부터 2: 55 사이 와 오후 6 시 부터 6: 55 사이 에 5 분 마다 촉발 합 니 다.
"0 0 - 5 14 *?" 매일 오후 2 시 부터 오후 2 시 까지 1 분 마다 터치 합 니 다.
"0, 10, 44, 14? 3 WED" 매년 3 월 수요일 오후 2: 10 과 2: 44 촉발
'0, 15, 10? * MON - FRI' 월요일 부터 금요일 까지 오전 10: 15 트리거
"0 15 10 15 *?" 매월 15 일 오전 10: 15 촉발
"0 15 10 L *?" 매월 마지막 날 오전 10: 15 촉발
"0 15 10? * 6L" 매월 마지막 금요일 오전 10: 15 촉발
"0 15 10? * 6L 2002 - 2005" 2002 년 부터 2005 년 까지 매월 마지막 금요일 오전 10: 15 촉발
"0 15 10? * 6 \ # 3" 매월 셋째 금요일 오전 10: 15 촉발
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.