배치 프로그램
배치 프로그램(Batch Program)의 개념
- 사용자와의 상호 작용 없이 일련의 작업을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법
배치 프로그램의 유형
- 이벤트 배치 : 사전에 정의해 둔 조건 충족 시 자동으로 실행
- 온디맨드 배치 : 사용자의 명시적 요구가 있을 때마다 실행
- 정기 배치 : 정해진 시점(주로 야간)에 정기적으로 실행
배치 스케줄러
배치 스케줄러(Scheduler)의 개념
- 일괄 처리(Batch Processing)를 위해 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구
배치 스케줄러의 종류
- 스프링 배치(Spring Batch) : 스프링 프레임워크의 DI, AOP, 서비스 추상화 등 스프링 프레임워크의 3대 요소를 모두 사용할 수 있는 대용량 처리를 제공하는 스케줄러 배치 애플리케이션
- 쿼츠 스케줄러(Quartz Scheduler) : 스프링 프레임워크에 플러그인되어 수행하는 작업(Job)과 실행 스케줄을 정의하는 트리거를 분리하여 유연성을 제공하는 오픈 소스 기반 스케줄러
Cron 표현식
- 스케줄러를 실행하기 위해 작업이 실행되는 시간 및 주기 등을 설정하게 되는데 크론 표현식을 통해 배치 수행시간을 설정
리눅스(Linux)/유닉스(Unix) 크론 표현식
- 분(Minutes) : 0~59, 특수문자
- 시간(Hours) : 0~23, 특수문자
- 일(Day of Month) : 1~31, 특수문자
- 월(Months) : 1~12, JAN~DEC, 특수문자
- 요일(Day of Week) : 1~7, SUN - SAT, 특수문자
- 연도(Year)(생략 가능) : 1970~2099, 특수문자
쿼츠 크론 표현식
- 초(Seconds) : 0~59, 특수문자
- 분(Minutes) : 0~59, 특수문자
- 시간(Hours) : 0~23, 특수문자
- 일(Day of Month) : 1~31, 특수문자
- 월(Months) : 1~12, JAN~DEC, 특수문자
- 요일(Day of Week) : 1~7, SUN - SAT, 특수문자
- 연도(Year)(생략 가능) : 1970~2099, 특수문자
Cron 표현식 특수문자
- * : 모든 수
- ? : 해당 항목을 미사용
- - : 기간 설정
- , : 특정 기간 설정
- / : 시작 시간과 반복 간격 설정
- L : 마지막 기간에 동작
- W : 가장 가까운 평일에 동작
- # : 몇 번째 주, 요일 설정
Cron 표현식 의미
- 0 0 12 * * ? : 매일 12시에 실행
- 0 15 10 * * ? : 매일 오전 10시 15분에 실행
- 0 * 14 * * ? : 오후 14시에서 15시 사이에 매분 실행
- 0 0/5 14,20 * * ? : 매일 14시에 시작하여 14시 55분까지 5분마다 실행, 20시 정각부터 20시 55분까지 5분마다 실행
- 0 0 20 ? * MON-FRI : 매주 월요일과 금요일 사이 20시에 실행
- 0 15 10 15 * ? : 매달 15일 10시 15분에 실행
- 0 15 10 L * ? : 매달 마지막 날 10시 15분에 실행
- 0 15 10 ? * 6L 2020-2021 : 2020년부터 2021년 매달 마지막 금요일 10시 15분에 실행
- 0 11 11 1 1 ? : 1월 1일 11시 11분마다 실행
'정보처리 > 프로그래밍언어활용' 카테고리의 다른 글
서버 프로그램 구현 공통 모듈 구현 (0) | 2025.05.10 |
---|---|
서버 프로그램 구현 개발환경 구축 (1) | 2025.05.09 |