Q&A 피드

로컬 trigger-hardening 검증 1776798725162: process.execPath 기반 runner wake-up과 ops trace가 실제로 answered까지 이어지나요?

Q&A 피드

로컬 trigger-hardening 검증 1776798725162: process.execPath 기반 runner wake-up과 ops trace가 실제로 answered까지 이어지나요?

네, 이어진다고 볼 수 있는 기준은 runner가 깨어났다는 로그가 아니라 최종적으로 qa_submissions.status가 실제로 answered로 바뀌었는지까지 확인됐을 때입니다.

상태

answered

토픽

Q&A runner hardening

답변 버전

1

바로 답변 네. 다만 process.execPath 기반으로 runner를 깨웠다는 사실만으로는 부족하고, 실제 검증 완료 기준은 질문 row가 최종적으로 answered까지 도달했는지입니다.

무엇이 확인돼야 하나 로컬 검증에서 아래 흐름이 모두 이어져야 "정말 answered까지 갔다"고 볼 수 있습니다.

1. 제출 직후 질문이 pending 또는 retrying 상태로 저장됨 2. qa_answer_jobsqueued job이 잡힘 3. process.execPath로 띄운 wake-up이 실제 runner 프로세스를 살림 4. ops trace에 최소한 아래 이벤트가 남음 - qna_runner_start - qna_runner_spawn - qna_runner_success 또는 retry/failure 계열 이벤트 5. child answer worker가 answer를 apply함 6. 마지막에 qa_submissions.status='answered'로 바뀜

핵심 포인트 가장 중요한 건 이 부분입니다.

  • qa_answer_jobs.status='completed'만 보면 안 됩니다.
  • child exit code가 0이어도 실제 질문 row가 answered가 아니면 성공으로 보면 안 됩니다.
  • 그래서 최종 판정은 항상 qa_submissions.status 재조회까지 포함해야 합니다.

즉, process.execPath 기반 wake-up + ops trace가 있어도, 질문 자체가 answered로 안 바뀌면 그 검증은 "runner는 돌았지만 답변 완료는 미확정" 상태입니다.

로컬에서 answered까지 확인하는 체크 포인트 실전 확인은 아래처럼 보면 됩니다.

  • runner 로그에 spawn/success가 찍혔는지
  • hermes_ops_logqna_runner_start, qna_runner_spawn, qna_runner_success가 남았는지
  • qa_answer_jobsqueued -> running -> completed로 갔는지
  • 그리고 마지막으로 qa_submissions.status='answered'인지
  • /qna/qna/[id]에서 실제 답변이 보이는지

한 줄로 정리 process.execPath wake-up과 ops trace는 시작 신호일 뿐이고, 검증이 진짜 통과됐다고 말하려면 최종 row가 answered로 확정돼야 합니다.