개발/스프링

Spring 스케줄러(자동배치) 설정

림쌍월 2020. 11. 9. 16:03

이미 여러가지 다수의 프로젝트에서 이용했지만 할떄마다 시간설정 정보가 아리송해서

직접 정리하면 좀 괜찮아 지지 않을까 하여 직접 포스팅을 하게 되었습니다.


//스케쥴링 할 메소드위에 @Scheduled 입력
@scheduled(cron=" ")
  <예제>

   @Scheduled(cron="0 0 05 * * ?") => 매일 5시에 실행
   @Scheduled(cron="0 0 02 2,20 * ?")
=> 매월 2일,20일 새벽2시에 실행

 

항목 (연도 정보는 옵셔널한 정보)

* : 모든 값
? : 특정 값 없음
- : 범위 지정에 사용
, : 여러 값 지정 구분에 사용
/ : 초기값과 증가치 설정에 사용
L : 지정할 수 있는 범위의 마지막 값
W : 월~금요일 또는 가장 가까운 월/금요일

# : 몇 번째 무슨 요일 2#1 => 첫 번째 월요일

 


샘플 예제
 "0 0 12 * * ?" : 아무 요일, 매월, 매일 12:00:00
 "0 15 10 ? * *" : 모든 요일, 매월, 아무 날이나 10:15:00 
 "0 15 10 * * ?" : 아무 요일, 매월, 매일 10:15:00 
 "0 15 10 * * ? *" : 모든 연도, 아무 요일, 매월, 매일 10:15 
 "0 15 10 * * ?" : 2005" 2005년 아무 요일이나 매월, 매일 10:15 
 "0 * 14 * * ?" : 아무 요일, 매월, 매일, 14시 매분 0초 
 "0 0/5 14 * * ?" : 아무 요일, 매월, 매일, 14시 매 5분마다 0초 
 "0 0/5 14,18 * * ?" : 아무 요일, 매월, 매일, 14시, 18시 매 5분마다 0초 
 "0 0-5 14 * * ?" : 아무 요일, 매월, 매일, 14:00 부터 매 14:05까지 매 분 0초 
 "0 10,44 14 ? 3 WED" : 3월의 매 주 수요일, 아무 날짜나 14:10:00, 14:44:00 
 "0 15 10 ? * MON-FRI" : 월~금, 매월, 아무 날이나 10:15:00 
 "0 15 10 15 * ?" : 아무 요일, 매월 15일 10:15:00 
 "0 15 10 L * ?" : 아무 요일, 매월 마지막 날 10:15:00 
 "0 15 10 ? * 6L" : 매월 마지막 금요일 아무 날이나 10:15:00 
 "0 15 10 ? * 6L 2002-2005" : 2002년부터 2005년까지 매월 마지막 금요일 아무 날이나 10:15:00 
 "0 15 10 ? * 6#3" : 매월 3번째 금요일 아무 날이나 10:15:00

 

별도로 특정 주기로 실행 할수도 있음.. (1000 : 1초)
@Scheduled(fixedDelay=2000) /* 2초마다 실행 */

 

이후에 다시 검색을 하게 될지도 모르지만

제 블로그에서 찾게 되면 최소한의 시간으로 찾을수 있겠네요

'개발 > 스프링' 카테고리의 다른 글

Springboot기초 실습 정보  (0) 2020.11.23
Spring YAML 샘플  (0) 2020.11.19
Spring 어노테이션 정리  (0) 2020.11.09