스케줄

개요

스케줄은 등록된 잡을 정해진 주기와 기간에 따라 자동으로 실행하는 기능입니다. Quartz 스케줄링 엔진을 기반으로 동작하며, 다양한 반복 주기와 달력 연동을 지원합니다.

스케줄 목록 조회

스케줄 목록을 조회하려면 WebAdmin 메인 메뉴에서 [운영관리] > [스케줄]을 선택합니다.

스케줄 화면은 스케줄 목록 테이블과 상단의 검색창으로 구성됩니다.

scheduler list
  • ① 검색창

    검색 조건을 설정하여 스케줄을 조회할 수 있습니다. 스케줄 아이디, 스케줄 이름, 실행 잡 이름, 스케줄 상태를 기준으로 검색할 수 있습니다.

    하나의 조건에 여러 값을 입력할 경우 쉼표(,)로 구분합니다.

  • ② 스케줄 목록

    검색 조건에 따라 스케줄 목록이 표시됩니다. 다음은 스케줄 상태 정보입니다.

    상태 설명

    실행 중

    스케줄이 활성화되어 설정된 주기에 따라 잡을 실행합니다.

    정지

    스케줄이 일시 정지된 상태입니다. [실행] 버튼으로 다시 활성화할 수 있습니다.

    비활성화

    스케줄이 비활성화된 상태입니다. 연결된 잡이 비활성화되어 스케줄을 실행할 수 없는 상태입니다. 정상 동작하는 잡으로 다시 설정해 스케줄을 수정하면 정지 상태로 복구되며, 이후 [실행] 버튼으로 다시 활성화할 수 있습니다.

    종료

    설정된 반복 기간 또는 횟수가 완료되어 스케줄이 종료된 상태입니다.

스케줄 생성

스케줄을 생성하려면 스케줄 목록 오른쪽 상단의 [+ 생성] 버튼을 클릭합니다.

스케줄 생성 화면이 표시되면 기본 설정잡 설정, 반복 기간 및 스케줄 설정 정보를 입력하고 [생성] 버튼을 클릭합니다.

scheduler create
  • 기본 설정

    다음은 기본 설정 항목에 대한 설명입니다. (*: 필수 설정 항목)

    항목 설명

    스케줄 아이디 *

    스케줄의 고유 식별자입니다. 영문, 숫자 및 언더스코어(_)를 사용할 수 있으며, 2~32자 이내로 입력해야 합니다.

    스케줄 이름

    스케줄의 표시 이름입니다. 2~32자 이내로 입력해야 하며, 한글, 영문, 숫자 및 다음 특수문자를 사용할 수 있습니다. 미입력 시 아이디 값으로 자동 설정됩니다.

    * 언더스코어(_), 하이픈(-), 대괄호([]), 중괄호({}), 괄호(()), 쉼표(,), 콜론(:)

    초기 상태값 *

    스케줄 생성 시 초기 상태를 설정합니다.

    • 실행 중 : 생성 즉시 스케줄이 활성화됩니다. (기본값)

    • 정지: 정지 상태로 생성됩니다. 수동으로 실행해야 합니다.

  • 잡 설정

    다음은 잡 설정 항목에 대한 설명입니다.

    항목 설명

    잡 *

    입력 필드를 클릭 시 표시되는 우측 사이드 패널에서 실행할 잡을 선택합니다.

    영업일/휴무일 설정

    연동할 달력을 선택합니다. 달력을 선택하지 않으면 모든 날짜에 스케줄이 실행됩니다.

    달력을 연동하면 영업일 또는 휴일 설정에 따라 실행을 제어합니다. 달력 유형은 다음 2가지가 있습니다.

    • 영업일: 달력에 등록된 날짜에만 스케줄이 실행됩니다.

    • 휴일: 달력에 등록된 날짜에는 스케줄이 실행되지 않습니다.

    달력을 사용하려면 먼저 달력을 생성해야 합니다. 자세한 내용은 일정 관리를 참고합니다.
  • 반복 기간 및 스케줄 설정

    항목 설명

    반복 방식

    스케줄의 실행 기간 또는 횟수를 설정합니다.

    • 기간: 지정한 기간 동안 스케줄을 실행합니다.

      • 시작 일시: 스케줄 실행 시작 일시를 설정합니다.

      • 종료 일시: 스케줄 실행 종료 일시를 설정합니다.

    • 횟수: 지정한 횟수만큼 잡을 실행합니다.

      • 시작 일시: 스케줄 실행 시작 일시를 설정합니다.

      • 횟수: 잡을 실행할 총 횟수를 설정합니다.

    반복 주기 설정 방식

    잡을 얼마나 자주 실행할지 설정합니다.

    • 기본 설정: UI 입력을 통해 반복 주기를 설정합니다. 반복 간격 값을 입력하고 단위를 선택합니다.

      • 단위: 분, 시, 일, 주, 개월, 년

      • 주 단위로 설정할 경우, 실행할 요일을 선택합니다. 다중 선택이 가능합니다.

      • 월/년 단위로 설정할 경우 실행 날짜를 지정하는 방식을 추가로 선택합니다.

        • DATE 방식: 특정 날짜에 실행 (예: 매월 15일)

        • DAY 방식: 특정 주차의 특정 요일에 실행 (예: 매월 첫째 월요일)

    • Cron 표현식 직접 입력: 기본 설정으로 표현하기 어려운 스케줄은 Quartz Cron 표현식을 직접 입력하여 설정할 수 있습니다. 입력 방법은 Quartz Cron 표현식을 참고합니다.

    다음은 기본 설정 방식으로 반복 주기를 설정하는 예시입니다.

    * 매 5분마다: 간격=5, 단위=분
    * 매일: 간격=1, 단위=일
    * 매주 월/수/금: 간격=1, 단위=주, 요일=월, 수, 금
    * 매월 1일: 간격=1, 단위=개월, 설정 방식=DATE, 날짜=1
    * 매월 첫째 월요일: 간격=1, 단위=개월, 설정 방식=DAY, 주차=1, 요일=월
    * 매년 3월 15일: 간격=1, 단위=년, 설정 방식=DATE, 월=3, 날짜=15
Quartz Cron 표현식

Quartz Cron 표현식은 세부 반복 주기를 직접 설정하는 경우 사용합니다. Cron 표현식을 직접 입력하여 분, 시간, 요일, 월 등의 실행 조건을 세밀하게 설정할 수 있습니다.

  1. Quartz Cron 표현식은 스케줄 실행 주기를 정의하기 위한 표준 형식입니다.

  2. Quartz Cron 표현식은 일반 Linux Cron 형식과 다르게 초(second) 필드를 포함하며, 요일과 일(day-of-month) 필드에 ? 문자를 사용할 수 있습니다.

  3. 요일과 일(day-of-month) 필드에는 ?를 동시에 사용할 수 없습니다. 두 필드 중 하나에만 ?를 사용해야 합니다.

다음은 Quartz Cron 표현식의 형식입니다.

초 분 시 일 월 요일 [선택: 년]

입력 방법은 다음을 참고합니다.

필드 허용 값 특수문자

0-59

, - * /

0-59

, - * /

0-23

, - * /

1-31

, - * ? / L W

1-12 또는 JAN-DEC

, - * /

요일

1-7 또는 SUN-SAT

, - * ? / L #

(선택) 1970-2099

, - * /

Quartz Cron 표현식에서 사용하는 주요 특수문자입니다.

특수문자 설명

*

모든 값

,

여러 값 지정

-

범위 지정

/

증가 단위 지정

?

값 없음(일/요일 필드에서 사용)

L

마지막 날짜 또는 요일

W

가장 가까운 평일

#

특정 주의 요일 지정

다음은 Cron 표현식의 설정 예시입니다.

0 0 9 * * ? : 매일 오전 9시
0 0/30 * * * ? : 매 30분마다
0 0 9 ? * MON-FRI : 평일 오전 9시
0 0 0 1 * ? : 매월 1일 자정
0 0 10 ? * 2#1 : 매월 첫째 월요일 오전 10시

스케줄 수정 및 삭제

스케줄을 수정하려면 스케줄 목록에서 수정할 스케줄을 클릭합니다.

스케줄이 실행 중인 경우 수정할 수 없습니다. 먼저 스케줄을 정지한 후 수정합니다.

스케줄 상세 정보 화면에서 [편집] 버튼을 클릭하여 설정을 수정한 후 [저장] 버튼을 클릭합니다.

scheduler detail

스케줄 아이디는 수정할 수 없습니다.

스케줄을 삭제하려면 스케줄 목록에서 삭제할 스케줄의 체크박스를 선택한 후, 상단의 [삭제] 버튼을 클릭합니다.

스케줄 제어

스케줄을 제어하는 기능입니다. 스케줄 목록에서 스케줄을 선택한 후 [실행] 또는 [정지] 버튼을 클릭합니다.

scheduler start stop
버튼 설명

[실행]

정지 상태의 스케줄을 실행합니다.

[정지]

실행 중인 스케줄을 정지합니다.

스케줄 및 잡 실행 결과는 [통계분석] > [스케줄 실행 이력] 메뉴에서 확인할 수 있습니다. 자세한 내용은 스케줄 실행 이력을 참고합니다.