IT/Spring

[Spring Boot]@Scheduled를 이용한 스케줄러 구현하기

binary? 2024. 5. 4. 09:00

 

[Spring Boot]@Scheduled를 이용한 스케줄러 구현하기

 

1. Application 설정

@Scheduled를 사용하기 위해서는 Application 클래스에서 @EnableScheduling을 설정해 줘야 합니다.

 

2. Scheduler 구현

스케줄러를 구현할 클래스를 생성합니다.

해당 스케줄러가 스프링 빈에 등록되어야 합니다.

@Component 애노테이션을 이용해서 빈에 등록했습니다.

 

저는 10분마다 1번씩 실행하도록 하였습니다.

fixedDelay는 실행 시간을 지정하는 옵션으로, 1초에 해당하는 값은 1000입니다.

 

@Scheduled 속성을 이용하여 스케쥴 옵션을 다양하게 설정할 수 있습니다.

  • fixedRate: 작업 수행 시간과 상관없이 일정 주기마다 메소드를 호출
  • fixedDelay는 (작업 수행 시간을 포함하여) 작업을 마친 후부터 주기 타이머가 돌아 메소드를 호출
  • initialDelay: 스케줄러에서 메소드가 등록되자마자 수행하는 것이 아닌 초기 지연시간을 설정
  • cron: Cron 표현식을 사용하여 작업을 예약

 

 

3. Scheduler 확인

로그를 찍어서 정상적으로 작동하는지 확인합니다.

아래는 테스트로 10초마다 실행시킨 로그입니다.