본문 바로가기
Stove Dev Camp

Spring Boot 일정시간마다 실행시키기

by AndoneKwon 2021. 2. 3.

@EnableScheduling

스프링 부트에서는 일정시간마다 실행을 시키는 어노테이션을 메인함수에 선언을 해놓으면 스케줄링을 사용할 수 있다.

이번 프로젝트에서 이 기능이 필요했던 이유는 방송 송출이 잘 되고 있는지에 대한 감시를 옵저빙 서버에서 해야한다.

(네트워크 환경이 급격하게 바뀌는 경우에는 Websocket이 끊겨도 끊긴지 모르고 그 룸에 대한 정보와 미디어 송출 라인이 그대로 남아있다.)

 

따라서, Scheduling을 이용해 일정시간마다 Data가 미디어서버로 잘 오고 있는지를 체크해야한다.

 

사용방법은 간단하다.(달아놓은 링크에 더 자세한 설명이 있으며 여기서는 일정 작업이 끝난 후 일정시간 마다 작업을 반복하는 것만 쓴다.)

 

@EnableScheduling 어노테이션을 달고

 

사용하고자 하는 함수에 

 

@Scheduled(fixedDelay = 3000, initialDelay = 1000)

 

과 같은 어노테이션을 붙이면 된다.

(참고로 ms단위어서 3000이면 3초이다.)

 

끝!

 

---------------------------

Reference

hyeonguj.github.io/2020/01/15/Spring-%EC%A3%BC%EA%B8%B0%EC%A0%81%EC%9C%BC%EB%A1%9C-%EC%BD%94%EB%93%9C-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-Schedule/