결론 : Spring boot scheduler의 cron과 unix의 cron은 다르다!
spring boot scheduler의 cron에 대한 설명을 살펴보자
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Repeatable(Schedules.class)
public @interface Scheduled {
/**
* A cron-like expression, extending the usual UN*X definition to include
* triggers on the second as well as minute, hour, day of month, month
* and day of week. e.g. {@code "0 * * * * MON-FRI"} means once per minute on
* weekdays (at the top of the minute - the 0th second).
* @return an expression that can be parsed to a cron schedule
* @see org.springframework.scheduling.support.CronSequenceGenerator
*/
String cron() default "";
.
.
.
}
UNIX cron과 다르게 변수가 총 6개로 이루어져 있루어져 있는 것을 알 수 있다.
- "0 * * * * MON-FRI" : 주중에 매 분 0초마다 job을 수행
이제 기존 UNIX cronjob을 살펴보자 - 변수가 5개다
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
UNIX cron과 다르게 Spring boot cron은 초 단위까지 설정 가능한 것을 알 수 있다.
반응형
'개발이야기 > 스프링 프레임워크' 카테고리의 다른 글
마리아 DB 오류 org/mariadb/jdbc/Driver : Unsupported major.minor version 52.0 (0) | 2017.07.11 |
---|---|
Install Mysql for spring project(in Macbook) (0) | 2017.06.24 |
Spring boot application.properties 설명 (0) | 2017.06.17 |