공통 이벤트 계약
이러한 쿼리를 재사용 가능하게 유지하는 필드
- timestamp_utc, job_id, job_name, queue_name 및 상태
- scheduled_at, started_at, completed_at, duration_ms 및 시도
- error_type, worker_name, item_count 및 릴리스
SQL 이전의 정의
쿼리가 대신 내릴 수 없는 결정
- 1동일한 논리적 작업의 모든 시도를 연결하는 하나의 식별자를 선택하십시오.
- 2중단된 작업 쿼리가 완료된 작업에 플래그를 지정하지 않도록 종료 상태를 문서화합니다.
- 3임계값을 설정하기 전에 실행 시간과 큐 대기를 분리하세요.
권장 순서
먼저 탐지를 구축한 다음 진단을 구축하세요.
분석 패턴
결과를 통해 결정을 설명
작업 수명주기 모델링
하나의 쿼리가 각 논리적 작업을 재구성할 수 있도록 예약, 시작, 재시도, 완료, 실패 및 삭제된 결과를 구분하여 유지합니다.
흐름에서 재고 분리
각 시간 버킷 동안 생성되고 해결된 작업과 별도로 현재 백로그를 측정합니다.
지속적인 지연에 대한 알림
단일 일시적인 작업자 오류 대신 대기열 사용 기간, 연속 누락된 일정 또는 반복적인 재시도를 사용하세요.
완전한 레시피
쿼리를 복사한 다음 가정 검증
백그라운드 작업 재시도 및 실패율 측정
성공적인 실행, 재시도, 실패 및 종료 기간을 비교하여 신뢰할 수 없는 작업을 찾습니다.
가장 많은 재시도를 소비하거나 여전히 실패하는 백그라운드 작업은 무엇입니까?
SQL 및 결과를 참조하세요.SQL을 사용하여 중단된 백그라운드 작업 찾기
작업 시작 및 종료 이벤트에 참여하여 예상 완료 창을 초과한 작업을 식별합니다.
어떤 작업이 시작되었지만 종료 이벤트를 생성하지 않았습니까?
SQL 및 결과를 참조하세요.작업별 대기열 대기 시간 측정
실행 기간과 대기열에서 대기하는 데 소요된 시간을 분리하고 작업 이름별로 p50 및 p95 지연을 비교합니다.
작업자가 작업을 시작하기 전에 가장 오래 기다리는 작업은 무엇입니까?
SQL 및 결과를 참조하세요.배달 못한 편지 대기열 증가 측정
배달 못한 편지 생성과 해결을 비교하여 복구할 수 없는 작업이 누적되는 대기열을 찾습니다.
배달 못한 편지 작업을 해결하는 것보다 더 빨리 추가하는 대기열은 무엇입니까?
SQL 및 결과를 참조하세요.누락된 크론 일정 감지
연속적인 크론 실행 이벤트를 각 일정 간격과 비교하여 지연되거나 누락된 실행을 찾습니다.
문서화된 간격보다 늦게 실행된 예약된 작업은 무엇입니까?
SQL 및 결과를 참조하세요.백그라운드 작업 재시도 폭풍 감지
반복되는 작업 시도로 인해 불균형한 대기열 작업과 실패가 발생하는 시간 버킷을 찾으세요.
현재 재시도에 가장 많은 노력을 기울이고 있는 작업 유형은 무엇입니까?
SQL 및 결과를 참조하세요.