본문 바로가기
WEB/Spring

[Spring] Cron Schedule

by DeveloperCat 2023. 9. 17.
반응형
Cron schedule

유닉스 계열 컴퓨터 운영체제의 시간 기반 잡 스케줄러.

Task를 원하는 시간,날짜,간격에 주기적으로 실행할 수 있도록 해준다.

 

 

에… 글로 쓰니까 잘 모르겠다.

 

 

https://www.freeformatter.com/cron-expression-generator-quartz.html

 

 

이사님이 참고하라고 주신 cron schedule 만들어주는 사이트이다.

아마 몇 번 만져보면 대충 무슨 느낌인지 알 것이다.

그럼 좀 더 깊이 있게 알아보도록 하자…

 

 

1.   *’와 ‘?’의 차이

-    * : 모든 값을 의미

-    ? : 특정한 값이 없음을 의미

이게 웃긴게 뭐냐면, 둘이 별 차이가 없는 듯 해서 *만 쓰면, 에러가 난다.

 

예를 들어보자

 

나는 매일 12시마다 task가 동작되게 하고 싶다.

  •   0 0 12 * * * -> 에러
  •   0 0 12 * * ? -> 정상

(월과 일수 상관없이 매일 동작되게 하고 싶어, 근데 이 때 해당되는 요일들은 모르겠어.)라는 뜻이란다…

왜 굳이 저렇게 쓸까? * * * 써버리면 편한데

알 수 없지만 어쨌든 저렇게 쓴다.

반드시 ‘?’를 쓴다.

 

 

2.   6자리, 7자리

: 별 의미는 없다. 그저 년도까지 쓸거냐, 안 쓸거냐의 차이일 뿐. 둘다 spring에서 써봤는데, 잘 동작한다.

 

 

3.   초기값 / 증가값

Ex)  5분마다 task 실행

   0 0/5 * * * ?

   0 */5 * * * ?

위와 같은 2가지 방식이 있다.

반응형