cron
특정 시간마다 동작하는 코드 구현
1. Main 클래스인 Application에 @EnableSchduleing 어노테이션 사용
@EnableScheduling
@SpringBootApplication(exclude = [SecurityAutoConfiguration::class])
class Application
fun main(args: Array<String>) {
runApplication<Application>(*args)
}
2. 주기적으로 실행할 작업에 @Scheduled 어노테이션 사용
@Component
class PaymentCancelScheduler{
@Scheduled(cron = "10 * * * * *", zone = "Asia/Seoul")
fun claimChargingRequest() {
println(LocalDateTime.now())
}
}
- 모든 요일 모든시간의 10초 대에 실행이 됨
- (cron = 1 2 3 4 5 6)
1. 초 (0-59)
2. 분 (0-59)
3. 시 (0-23)
4. 일 (1-31)
5. 월(1-31)
6. 요일(0-6) 0: 일 1: 월 2:화,,,6: 토
표현식
*: 모든 값(매시, 매일, 매주처럼 사용한다.)
zone은 미설정시 local 시간 사용
- : 범위를 지정할 때
/ : 증분값, 즉 초기값과 증가 치를 설정할 때
, : 여러 값을 지정할 때
L : 지정할 수 있는 범위의 마지막 값 표시
# : N번 째 특정 요일을 설정할 때
? : 특정 값이 아닌 어떤 값이든 상관없음
반응형
'Kotlin' 카테고리의 다른 글
[QueryDSL] stringTemplate, dateTemplate로 날짜 포맷 하기, 날짜 더하기 (0) | 2023.07.17 |
---|---|
[Querydsl] 멀티 DB(Multi DB) 설정 하기, DB 2개 이상 연결 (0) | 2023.07.17 |
[Spring Boot] 스프링 부트 시작 - 프로젝트 만들기 (0) | 2023.02.19 |
ModelAndView에서 Thymeleaf 사용하기 (0) | 2022.12.14 |
QueryDSL select절에 subQuery 조회 (0) | 2022.12.13 |
댓글