▼ Backend/스프링 (Spring)

Spring Boot | Scheduler 설정하기

Valar 2021. 5. 17. 14:47
반응형
package com.sample.web;

import java.util.Date;

import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

// 스케줄링을 사용한다는 것을 알린다.
@EnableScheduling

// 개발자가 직접 작성한 Class를 Bean으로 등록하여 사용하기 위함
@Component
public class SampleScheduler {
    
    /*
        초 분 시 일 월 주(년)
        @Scheduled(cron = "0/30 * * * * *") // 매 30초 마다
    
        *    : 모든 값을 뜻합니다.
        ?    : 특정한 값이 없음을 뜻합니다. 
        -    : 범위를 뜻합니다. (예) 월요일에서 수요일까지는 MON-WED로 표현
        ,    : 특별한 값일 때만 동작 (예) 월,수,금 MON,WED,FRI 
        /    : 시작시간 / 단위  (예) 0분부터 매 5분 0/5
        L    : 일에서 사용하면 마지막 일, 요일에서는 마지막 요일(토요일)
        W    : 가장 가까운 평일 (예) 15W는 15일에서 가장 가까운 평일 (월 ~ 금)을 찾음
        #    : 몇째주의 무슨 요일을 표현 (예) 3#2 : 2번째주 수요일
    */
    @Scheduled(cron = "0 0 10 * * *") // 매일 10시
    private void sampleSchedule() {
        System.out.println("# SCHEDULED CALL : " + new Date());
    }
}

 

반응형