CronBark 문서는 베타입니다 — 피드백은 cronbark.contact@gmail.com
핵심 개념알림 조건

알림 조건

CronBark은 Cronjob마다 독립적인 알림 규칙을 설정할 수 있습니다. 실패 · 지연 · 타임아웃 · 복구를 자유롭게 조합하세요.

4가지 조건

1) 실패 즉시 (Fail Immediately)

fail 이벤트를 받는 즉시 알림을 발송합니다. 가장 기본적인 조건입니다.

2) 지연 N분 (Delayed N minutes)

start 이벤트 수신 후 N분이 지나도 success/fail을 받지 못하면 “지연” 알림을 발송합니다. 예: “이 잡은 보통 5분 안에 끝나니까, 10분 넘으면 알려줘”

3) 타임아웃 T분 (Timeout T minutes)

start 이벤트 수신 후 T분이 지나면 해당 Execution을 실패로 간주하고 알림을 발송합니다. 타임아웃 발생 후의 success/fail 이벤트는 새 Execution으로 처리됩니다.

4) 복구 (Recovery)

연속으로 실패하던 잡이 다시 성공하면 “복구됨” 알림을 발송합니다. 장애가 끝났는지 확인하려고 대시보드를 들여다보지 않아도 됩니다.

조합 예시

시나리오규칙 조합
”실패만 알려줘”실패 즉시
”실패 또는 10분 넘으면”실패 즉시 + 지연 10분
”실패 · 느림 · 끊김 모두”실패 즉시 + 지연 10분 + 타임아웃 30분
”장애 시작·복구 모두”실패 즉시 + 복구

발송 제어

조건이 맞아도 곧장/항상 보내지 않도록, 규칙마다 다음을 설정할 수 있습니다.

  • 연속 N회 — 조건이 연속 N회 충족됐을 때만 발송합니다. 일시적인 한 번의 실패엔 조용하고, 진짜 반복 실패만 알리고 싶을 때 유용합니다. (설정하지 않으면 첫 발생 시 즉시 발송)
  • 야간 음소거 — 야간(22:00–06:00 KST) 동안에는 발송을 보류합니다.
  • 주말 음소거 — 주말(토·일 KST) 동안에는 발송을 보류합니다.

채널

한 Cronjob에 여러 채널을 붙일 수 있습니다.

  • Slack Webhook — Slack Incoming Webhook URL 등록 (채널별 발송)
  • 이메일 — 여러 주소 쉼표로 구분
  • General Webhook — 외부 시스템(PagerDuty · Discord · Teams · 사내 봇 등)으로 JSON을 POST 전송. 수신 스키마는 아래 Webhook 페이로드 참고.

Slack · 이메일 · Webhook 모두 발송 실패 시 최대 3회 재시도 (1분 · 5분 · 15분 지수 백오프).

Webhook 페이로드

General Webhook 채널은 알림이 발생할 때마다 등록한 URL로 아래 JSON을 POST 합니다 (Content-Type: application/json, User-Agent: CronBark/1.0).

{
  "test": false,
  "event": "failed",
  "status": "failed",
  "cronjob_id": "550e8400-e29b-41d4-a716-446655440000",
  "cronjob_name": "nightly-backup",
  "execution_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "started_at": "2026-06-09T02:00:00+00:00",
  "finished_at": "2026-06-09T02:31:00+00:00",
  "duration_seconds": 1860.0,
  "error_message": "DB connection refused",
  "cronjob_url": "https://app.cronbark.com/550e8400-e29b-41d4-a716-446655440000"
}
필드타입설명
testbool테스트 발송이면 true, 실제 알림이면 false
event · statusstring알림 유형 — failed · timeout · delayed · recovered (테스트 발송은 test). 두 필드는 같은 값입니다.
cronjob_idstringCronjob UUID
cronjob_namestringCronjob 이름
execution_idstring해당 실행(Execution) UUID
started_atstring | null실행 시작 시각 (ISO 8601)
finished_atstring | null실행 종료 시각 (ISO 8601, 미종료 시 null)
duration_secondsnumber | null소요 시간(초)
error_messagestring | null실패 사유 (있을 때)
cronjob_urlstring | null대시보드 상세 페이지 링크

수신 엔드포인트는 2xx 응답을 반환해야 합니다. 4xx/5xx 응답은 발송 실패로 간주되어 재시도(최대 3회)됩니다.

중복 방지

같은 Execution · 같은 조건의 알림은 한 번만 발송됩니다. 예를 들어 “지연 10분”이 한 번 발송되면, 같은 Execution에서 시간이 더 지나도 같은 알림은 다시 나가지 않습니다.

알림 템플릿 커스터마이징은 향후 업데이트에 포함될 예정입니다. 사용 사례나 요청은 cronbark.contact@gmail.com 으로 보내주세요.