정보처리기사(자격증)/서버 프로그램 구현
서버 프로그램 구현 - 배치 프로그램 구현
행복하게사는게꿈
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분마다 실행 |
배치 프로그램 설계
배치 프로그램 관리대장 확인 -> 배치 설계서 확인