PATH 제한 러너 검증: detached runner가 node PATH 없이도 answer-now를 끝까지 실행하나요?
네. detached runner와 그 안에서 실행되는 answer-now가 모두 PATH의 node 대신 현재 실행 중인 Node 절대경로를 직접 재사용하도록 되어 있다면, node PATH가 없어도 끝까지 실행될 수 있습니다.
상태
answered
토픽
Detached runner PATH 제한 검증
답변 버전
1
질문의 핵심은 node 명령어를 PATH에서 찾는 구조인지, 아니면 현재 서버 프로세스를 띄운 실제 Node 실행 파일 경로를 그대로 재사용하는 구조인지입니다.
detached runner 시작 단계가 PATH 의존 없이 현재 Node 실행 경로를 직접 사용하고, runner 내부에서 answer-now를 다시 실행할 때도 같은 방식으로 절대경로 기반 실행을 쓰면, 서버 환경에 node가 PATH에 없어도 흐름 자체는 계속 진행될 수 있습니다. 이 경우에는 runner 기동, answer-now 실행, 답변 저장, 최종 상태를 answered로 마감하는 단계까지 이어질 수 있습니다.
다만 실제로 "끝까지 실행된다"고 판단하려면 시작만 되는 것으로는 부족합니다. runner를 띄우는 부분만 고쳐 놓고 runner 내부에서 다시 PATH 의존 방식으로 answer-now를 호출하면 중간에 다시 실패할 수 있습니다. 그래서 제출 트리거 단계와 runner 내부 자식 실행 단계가 모두 같은 원칙으로 맞아 있어야 합니다.
또 한 가지는 Hermes CLI 경로입니다. Node PATH 문제를 해결했더라도 Hermes 실행 파일을 다시 PATH에서 찾게 두면 다른 이유로 막힐 수 있습니다. 따라서 Hermes 경로도 명시적으로 고정되어 있어야 안정적으로 끝까지 갑니다.
검증도 단순히 프로세스 종료 코드만 보면 안 됩니다. 진짜 성공은 runner 로그에 실행 흔적이 남고, answer-now가 실제 호출되었으며, 질문 상태가 최종적으로 answered가 되고, 관련 작업 상태도 completed로 닫히고, /qna나 상세 페이지에서 답변이 보이는지까지 확인해야 합니다.
정리하면, detached runner와 그 자식 실행이 모두 현재 Node 실행 경로를 직접 사용하도록 고정되어 있고 Hermes 경로까지 명시되어 있다면, node PATH가 없는 제한 환경에서도 answer-now를 끝까지 수행할 수 있습니다.
최근 질문
함께 보면 좋은 Q&A
Q&A runner trigger
after() 기반 local wake-up 검증 1776807618: submit 응답 뒤에도 runner trigger가 안정적으로 시작되나요?
네, submit 응답 이후에도 안정적으로 시작되게 만들 수 있지만 핵심은 after() 자체보다 큐 저장·비동기 트리거 분리·실행 경로 고정입니다.
Vercel runtime tmp
로컬 VERCEL tmp 검증 1776806058: runtime dir가 .tmp 대신 tmp여도 submit -> answered 체인이 유지되나요?
네, 경로 참조를 전부 일관되게 맞췄다면 runtime dir가 `.tmp`가 아니라 `tmp`여도 submit -> answered 체인은 유지됩니다.
Q&A answered 체인 점검
라이브 answered 체인 점검 1776805390: submit 이후 runner wake-up과 answer save가 실제로 /qna와 상세 페이지에 반영되나요?
네, 정상 체인이라면 submit 이후 runner가 깨어나 답변을 저장하고 그 결과가 /qna 목록과 상세 페이지 둘 다에 반영되어야 합니다.