ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 23/12/18 스프링 스케줄러와 크론잡
    오늘/Today I.. 2023. 12. 18. 20:03

     

    스프링스케줄러

    스프링 프레임워크에서 제공하는 스케줄링 기능

     

    장점

    1. 스프링 프레임워크에서 기본으로 제공하기 때문에 사용이 쉬움  

    2. 어플리케이션과 같은 JVM 환경에서 실행하기 때문에 어플리케이션의 데이터에 쉽게 접근가능

     

    단점

    1. 하나의 Thread pool만 사용하기 때문에 한 스케줄이 끝나야 다음 스케줄 실행가능

    2. 어플리케이션과 함께 실행되기때문에  재시작시 스케줄링도 함께 재시작된다. 

       그래서 장기적인 스케줄링 작업이 어려울 수 있다.

     

     

     


     

    크론잡

    유닉스 계열에서 사용하는 스케줄링 도구

     

     

    장점

    1. 시스템 수준에서 관리하기 때문에  스프링 스케줄러의 단점이었던 어플리케이션에 종속된 문제를 해결하였음.

    2. 복잡한 일정 설정이 가능함.

     

    단점

    1. 유닉스 계열 시스템에만 사용가능하며 윈도우 등 다른 운영체제에서 사용할 수 없다.

    2. 어플리케이션 밖에서 작업하기 때문에 어플리케이션의 데이터에 접근이 어려울 수 있다.

     

     


     

     

    크론잡 대신 윈도우용 스케줄러를 써야하는데

    윈도우 스케줄러

    장점 

    1. GUI를 통해 작업을 쉽게 관리 가능

    2. 특정 사용자 권한으로 작업을 실행하는 것이 가능

    3. 윈도우 로그를 통해 작업 실행 내역을 확인 가능

     

    단점

    1. 크론표현식을 텍스트 기반이기 때문에 자유롭게 설정이 가능한데  이에 비해 유연성이 떨어질 수 있다.

     


     

     

    그래서 뭐가 더 좋은데?

    스케줄러 작업이 어플리케이션의 안에서 실행되는지 밖에서 실행되는지에 대한

    차이라고 볼 수 있다.

    거기에 크론잡의 경우 OS를 타기때문에

    윈도우인 나로써는 스프링 스케줄러, 윈도우 스케줄러  두가지 선택지가 남는다.

     

     


     

     

    작성자의 선택은?

    간단한 프로젝트이기 때문에 고민없이 스프링 스케줄러를 사용할 것이다.

    어플리케이션을 항상 실행하며 스케줄러를 관리해야할 필요성이 없기 때문에

    스프링 스케줄러를 선택하는것이 맞다고 생각한다.

     

     

     

Designed by Tistory.