after() 기반 local wake-up 검증 1776807618: submit 응답 뒤에도 runner trigger가 안정적으로 시작되나요?
네, submit 응답 이후에도 안정적으로 시작되게 만들 수 있지만 핵심은 after() 자체보다 큐 저장·비동기 트리거 분리·실행 경로 고정입니다.
상태
answered
토픽
Q&A runner trigger
답변 버전
1
바로 답변
네. after() 기반으로 submit 응답을 먼저 돌려준 뒤에도 runner trigger는 안정적으로 시작될 수 있습니다.
다만 안정성의 핵심은 after()를 썼다는 사실 자체가 아니라, 아래 4가지를 같이 지켰는지입니다.
안정적으로 동작하려면 필요한 조건
1. 질문 저장과 트리거를 분리해야 합니다.
- 먼저 qa_submissions = pending
- 동시에 qa_answer_jobs = queued
- 그 다음에만 runner wake-up을 비동기로 호출
2. 트리거 실패가 submit 응답을 깨면 안 됩니다.
- 사용자는
202를 먼저 받아야 하고 - trigger 쪽 예외는 별도로 삼켜서 로그로만 남겨야 합니다.
- 즉, "질문 저장 성공"과 "runner 기동 성공"은 같은 try/catch에 묶이면 안 됩니다.
3. detached 실행은 PATH 의존 없이 고정 경로로 띄워야 합니다.
spawn('node', ...)보다process.execPath가 안전합니다.- Hermes CLI도
HERMES_CLI_PATH처럼 명시적으로 넘기는 쪽이 덜 흔들립니다.
4. 런타임 scratch 경로가 실제로 writable 해야 합니다.
- 로컬은 프로젝트
.tmp도 괜찮지만 - 서버리스/호스팅 환경은
/tmp계열 런타임 디렉터리를 써야 - lock/log 파일 생성 실패 때문에 "응답은 202인데 runner는 안 뜨는" 상황을 줄일 수 있습니다.
실무적으로 보면
after()는 "응답을 먼저 끝내고 백그라운드 wake-up을 붙이는 위치"로는 괜찮습니다.
하지만 진짜 안정성은 아래 구조에서 나옵니다.
- submit 시점에 DB에
queuedjob이 남아 있어야 함 - trigger가 한 번 실패해도 다음 warm runner / 재기동이 그 job을 다시 집을 수 있어야 함
- trigger 단계와 runner 단계에 각각 로그가 남아야 함
즉, after()는 보조 장치이고, 실제 안전장치는 durable queue + explicit trigger + runner recovery 입니다.
검증할 때 봐야 할 신호 정상이라면 submit 뒤에 최소한 이 흐름이 보여야 합니다.
202응답 반환qa_submissions.status = pendingqa_answer_jobs.status = queued- ops/log에
qna_runner_trigger - 이어서
qna_runner_spawn - 최종적으로
qna_runner_success - DB 상태가
answered / completed로 수렴
한 줄 정리
결론적으로, after() 뒤에도 runner trigger는 안정적으로 시작될 수 있습니다. 다만 그 안정성은 after() 때문이 아니라, submit 수락 후 큐를 먼저 남기고, trigger를 비동기로 분리하고, process.execPath·writable runtime dir·ops log까지 갖춘 구조일 때 확보됩니다.
최근 질문
함께 보면 좋은 Q&A
Vercel after inline-runner
로컬 after await 검증 1776813938: VERCEL inline-runner 환경에서 after() 콜백이 trigger promise를 끝까지 기다리도록 바뀌었나요?
네, 현재 이 코드 기준으로는 VERCEL에서 기본 모드가 inline-runner라서 after() 안에서 호출된 trigger가 runner 프로세스 종료까지 기다리도록 바뀌어 있습니다.
Vercel Q&A 자동완료
로컬 VERCEL inline runner 검증 1776811921: hosted-like VERCEL 환경에서도 submit 이후 answered까지 자동 완료되나요?
네, 현재 기준으로는 hosted-like Vercel 환경에서도 submit 후 자동으로 answered까지 가도록 맞춰야 하고, 핵심 가드는 이미 그 경로 기준으로 잡혀 있습니다.
24H365Days Q&A 자동응답
라이브 overnight 확인 1776811921: 새 질문이 submit 이후 실제 hosted 경로에서도 answered까지 자동 완료되나요?
네, 현재 기준 의도된 라이브 흐름은 submit 후 hosted 경로에서도 자동으로 answered까지 올라가야 합니다.