정보처리기사(자격증)/서버 프로그램 구현

서버 프로그램 구현 - 배치 프로그램 구현

행복하게사는게꿈 2020. 10. 8. 11:03

배치 프로그램

 

 - 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법

 

배치 프로그램의 필수 요소

 

 - 배치 프로그램의 유형으로는 정기 배치, 이벤트 배치, 온디맨드 배치가 있다.

 

* 이온정

유형 설명
이벤트 배치 사전에 정의해 둔 조건 충족 시 자동으로 실행
온디멘드 배치 사용자의 명시적 요구가 있을 때마다 실행
정기 배치 정해진 시점(주로 야간)에 정기적으로 실행

 

배치 스케줄러

 

- 일괄처리(Bacth Processing)을 위해 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구

 

배치 스케줄러의 종류

유형 설명
스프링 배치
(Spring Bacth)
스프링 프레임워크의 DI, AOP, 서비스 추상화 등 스프링 프레임워크의 3대 요소를 모두 사용할 수 있는 대용량 처리를 제공하는 스케줄러
쿼츠 스케줄러
(Quartz Scheduler)
스프링 프레임워크에 플러그인 되어 수행하는 작업(Job)과 실행 스케줄을 정의하는 트리거를 분리하여 유연성을 제공하는 오픈 소스 기반 스케줄러

Cron 표현식

 

 - 스케줄러를 실행시키기 위해 작업이 실행되는 시간 및 주기 등을 설정하게 되는데 Cron 표현식을 통해 배치 수행시간을 설정

기호 의미
* 모든 수
? 해당 항목을 미사용
- 기간 설정
. 특정 기간 설정
/ 시작 시간과 반복간격 설정
L 마지막 기간에 동작
W 가장 가까운 평일에 동작
# 몇 번째 주, 요일 설정

 

Cron 표현식 사용예시

사용 예 의미
 0 0 12 * * *  매일 12시에 실행
0 15 10 * * * 매일 10시 15분에 실행
0 * 14 * * * 매일 14시에 0~59분가지 매 분 실행
0 0/5 14 * * * 매일 14시에 실행해서 5분 간격으로 실행
0 0 20 ? * MON-FRI 월~금 20시 0분 0초에 실행
*/1 * * * * 매 1분마다 실행
* /10 * * * * 매 10분마다 실행

 

배치 프로그램 설계

 

 배치 프로그램 관리대장 확인 -> 배치 설계서 확인