스케줄링
스케줄링은 Agent의 자동 처리 작업을 주기적으로 실행하는 기능입니다. msgConfig.yml의 scheduler 설정으로 각 스케줄러의 활성화 여부와 주기를 제어합니다.
스케줄러 구성
BanlistScheduler
수신 차단 목록(msg_banlist)을 주기적으로 갱신합니다. (R: 번호 차단, T: 내용 차단)
FileUploadScheduler
MMS/RCS/브랜드메시지 첨부 이미지를 G/W 파일 서버에 사전 등록합니다.
TableCreateScheduler
필요한 테이블 존재 여부를 확인하고 없으면 자동 생성합니다.
TranCleanerScheduler
일정 시간이 지나도 결과가 갱신되지 않은 발송 데이터를 msg_log로 강제 이관합니다.
StatsScheduler
v1.1.0에이전트 전체 처리 흐름의 통계를 주기적으로 stat.info.log에 출력합니다.
ReportInquiryScheduler
v1.1.0리포트 미수신 건에 대해 개별 조회 API를 호출하여 결과를 재수신합니다.
리포트 재조회 스케줄러 (예시)
네트워크 장애 등으로 리포트가 누락된 경우, ReportInquiryScheduler가 미수신 건을 개별 조회 API로 자동 재수신합니다.
YAML
scheduler:
reportInquiry:
yn: Y
cron: 0 * * * * * # 매분 실행
thresholdHours: 72 # 미수신 기준 시간
limitCnt: 50 # 1회 수집 최대 건수
sleepMs: 500 # 건당 API 호출 후 sleep
운영 포인트
- 트래픽 패턴에 맞춰 polling 주기를 분리 설정합니다.
- 배치 작업이 발송 성능을 방해하지 않도록 시간대를 분리합니다.
- 스케줄 실패 로그를 알림 체계와 연동합니다.