ES /docs

invoke postprocessor failed on Capture 47027

Fix Plan: invoke postprocessor failed on Capture 47027

Status: SKIPPED (operations-only)#

이 클러스터는 코드 변경 대상이 아니므로 plan 이 생성되지 않았다. RCA 의 Root Cause Summary 및 Fix Recommendation → "즉시 조치 = 없음" 결론을 그대로 수용한다.

근거#

  • 실패를 발생시킨 코드는 tesla 리포지토리에 존재하지 않음:
    • git grep "reinvoke_post" 937582c6 -- '*.rb' → 0 matches
    • git grep "invoke postprocessor" 937582c6 -- '*.rb' → 0 matches
    • git log --all -S 'reinvoke_post' → 0 matches
  • 실행된 코드는 rails console / rake 상의 ad-hoc 스크립트로 판정됨 (동일 pid 712734, 동일 초, class attribute 부재 → 정규 Cupix::Logger 사용 컨벤션과 불일치).
  • 실패 대상 6건은 모두 singleshot capture (method: singleshot, capture_type: app_no_ar_singleshot) 로 postprocessor 재기동 대상이 아님. singleshot 은 정규 흐름에서 create_capture / create_pano_postprocessor Job 을 만들지 않으므로 capture.jobs.<scope>.last.actions.* 접근이 항상 nil.actions 로 실패함.
  • 사용자 트래픽·정기 처리 파이프라인 영향 없음. 일회성 batch 실패.

Hand-off (스크립트 실행자에게 전달)#

RCA 의 "단기 개선" 섹션 항목을 그대로 인용:

  1. 스크립트에 singleshot 필터 추가: next if capture.singleshot? 또는 next unless capture.reprocessible?.
  2. Job / action lookup 결과에 nil-guard 추가: next if capture.jobs.where(kind: %w[create_capture create_pano_postprocessor]).blank?.
  3. 로거 컨벤션 준수: Cupix::Logger.info(msg, class: self.class.name, function: __method__, capture: { id: capture.id }).
  4. (재사용 가능성이 있다면) 스크립트를 lib/tasks/tesla/ 또는 app/services/ 하위의 정식 rake task / service 로 커밋해 코드 리뷰 · CI 대상화.

Acceptance Criteria#

  • 스크립트 실행자에게 hand-off 사실 전달 확인.
  • 후속 발생 감시: service:cupixworks-worker @function:reinvoke_post status:error 알림 설정 여부 확인.

Tests#

  • 해당 없음 — 코드 변경 없음.