콘텐츠로 건너뛰기
Telemetry
백그라운드 작업 SQL 레시피

누락된 크론 일정 감지

연속적인 크론 실행 이벤트를 각 일정 간격과 비교하여 지연되거나 누락된 실행을 찾습니다.

중급cron_runs검토됨 2026-07-28테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 . SQL 호환성, 이벤트 계약, 합성 출력 및 운영상의 주의사항. 표준 및 소유권 검토

질문에 답변됨

문서화된 간격보다 늦게 실행된 예약된 작업은 무엇입니까?

시작되지 않는 cron 프로세스는 실패를 발생시킬 수 없습니다. 관찰된 실행 간의 간격을 예상 간격과 비교하면 일반적인 오류율 쿼리에서 놓친 침묵이 감지됩니다.

이벤트 계약

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
timestamp_utcTimestamp크론 실행 시작 시간을 확인했습니다.
schedule_nameUtf8안정적인 예약된 워크플로 이름입니다.
environmentUtf8배포 환경.
expected_interval_minutesFloat64시작 사이의 시간(분)을 문서화했습니다.
DataFusion SQL

쿼리 복사

sql
WITH ordered_runs AS (
  SELECT
    schedule_name,
    environment,
    timestamp_utc AS run_at,
    expected_interval_minutes,
    LAG(timestamp_utc) OVER (
      PARTITION BY schedule_name, environment
      ORDER BY timestamp_utc
    ) AS previous_run_at
  FROM cron_runs
  WHERE timestamp_utc >= now() - INTERVAL '7 days'
)
SELECT
  schedule_name,
  environment,
  previous_run_at,
  run_at,
  expected_interval_minutes,
  date_part('second', run_at - previous_run_at) / 60.0 AS observed_gap_minutes
FROM ordered_runs
WHERE previous_run_at IS NOT NULL
  AND date_part('second', run_at - previous_run_at) / 60.0
    > expected_interval_minutes * 1.5
ORDER BY observed_gap_minutes DESC;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

관찰된 일정 공백

청구 동기화는 예상 시작 두 번을 놓쳤고, 일일 만료 워크플로는 하루를 건너뛰었습니다.

schedule_nameenvironmentprevious_run_atrun_atexpected_interval_minutesobserved_gap_minutes
hourly_billing_syncproduction2026-07-27 07:002026-07-27 10:0060180
daily_trial_expirationproduction2026-07-25 02:002026-07-27 02:001,4402,880

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

Observed schedule gaps: Detect Missed Cron Schedules 예제 결과의 합성 observed_gap_minutes 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

공공 픽스처 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. illustrative 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1LAG는 각 일정 및 환경에 대해 이전에 관찰된 시작을 검색합니다.
  2. 2타임스탬프 차이는 각 작업의 자체 간격과 비교할 수 있는 관찰된 간격이 됩니다.
  3. 31.5 승수는 실제로 놓친 실행을 숨기지 않고 정상적인 일정 지터를 허용합니다.

결정해야 할 극단적인 경우

  • 이 기록 쿼리는 다음 실행이 도착한 후에만 간격을 감지합니다. 현재 하트비트 누락 알림과 페어링하세요.
  • 계획된 유지 관리 및 비활성화된 일정은 명시적인 상태 변경을 내보내야 합니다.
  • 일광 절약 시간제 전환에는 UTC 일정 또는 시간대 인식 기대치가 필요합니다.

추천 대시보드

  • 표: 이전 및 다음 실행에서 누락된 시작
  • 추세: 직무별 일정 공백 시간(분)
  • 통계: 현재 프로덕션 일정이 연체되었습니다.

알림 안내

실시간 감지를 위해 최신 실행이 예상 간격과 문서화된 지터보다 오래되면 알림합니다.

알림 설정 읽기

레시피를 활용해 보세요

관련 계측 및 가이드

분석 계속하기

실제 이벤트에서 실행

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기