MaskWork#maskPanos stderr을 모두 error로 기록 — 로그 레벨 매핑 오류
Fix Plan: MaskWork::maskPanos | PyTorch UserWarning: No PYTORCH_KERNEL_CACHE_PATH or HOME
Changes#
cupixworks: applications/agents/packages/cupix-pano-postprocessor/src/work/mask-work.ts#
- What:
spawn()의env옵션에...process.env를 spread하여 부모 프로세스 환경변수를 상속하도록 수정. 기존 3개 커스텀 변수(INPUT_DIRPATH,OUTPUT_DIRPATH,OPTION_FILE_PATH)는 그대로 유지하되,{ ...process.env, ...customVars }패턴을 적용. - Why: 현재
env옵션에 커스텀 변수만 전달하여HOME,PATH,PYTORCH_KERNEL_CACHE_PATH등이 누락됨.PixGenieProcess(pixgenie.process.ts:66)의 올바른 패턴을 참고하여 표준화. - Lines: 29-33
cupixworks: applications/agents/packages/cupix-capture-3d-reconstruction-agent/src/process/three-d-reconstruction.process.ts#
- What: 환경변수를 command string prefix로 전달하는 방식을
spawn()의env옵션으로 변경.{ ...process.env, API_URL, DOMAIN, CAPTURE, ACCESS_TOKEN, ... }패턴을 적용하고,shell: true+ command string 방식 대신 array argument 형태로 전환. - Why: 현재
shell: true로 환경변수를 command prefix로 전달하는 방식은 표준 패턴({ ...process.env, ...customEnv })과 불일치. 장기적으로 모든 agent 패키지에서 동일한spawn()패턴을 사용하도록 표준화. - Lines: 43-57
cupixworks: applications/agents/packages/cupix-pano-postprocessor/Dockerfile#
- What: Python pip 설치 섹션 이후에
ENV PYTORCH_KERNEL_CACHE_PATH=/tmp/.cache/torch/kernels를 추가하여 컨테이너 레벨에서 PyTorch 커널 캐시 경로를 명시적으로 설정. - Why:
HOME이 설정되지 않거나 없는 환경에서도 PyTorch CUDA JIT 컴파일러가 커널 캐싱을 활용할 수 있도록 fallback 경로를 제공. 이를 통해 반복 실행 시 GPU 커널 재컴파일 오버헤드를 방지. - Lines: 71 이후
Acceptance Criteria#
-
mask-work.ts의spawn()호출에서env옵션이{ ...process.env, INPUT_DIRPATH: ..., OUTPUT_DIRPATH: ..., OPTION_FILE_PATH: ... }형태인지 확인 -
three-d-reconstruction.process.ts의spawn()호출에서env옵션이{ ...process.env, ... }패턴을 사용하며, 환경변수가 command string이 아닌env옵션으로 전달되는지 확인 -
cupix-pano-postprocessor/Dockerfile에ENV PYTORCH_KERNEL_CACHE_PATH=/tmp/.cache/torch/kernels가 존재하는지 확인 - ESLint 통과 (변경된 파일)
Tests#
- 기존 테스트: 해당 패키지에 별도 unit test 파일 없음 (spawn 호출은 통합 테스트에서 커버)
- 신규 테스트: 불필요 — 환경변수 전달 패턴 변경은 런타임에서만 검증 가능