Q&A 피드

PATH 제한 러너 검증: detached runner가 node PATH 없이도 answer-now를 끝까지 실행하나요?

Q&A 피드

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를 끝까지 수행할 수 있습니다.