타임아웃을 하드코딩하지 마세요

2 days ago 23

도구에 필요한 것은 타임아웃의 제거가 아니라 사용자가 변경할 수 있는 제한 시간임. 빠른 개발 환경을 기준으로 고정한 시간 제한은 느린 연결이나 큰 저장소를 사용하는 환경에서 도구 사용을 막음 npx skills로 대규모 스킬 저장소를 설치하는 과정에서 60초 복제 제한에 걸리는 사례가 있음. 수동 복제로 우회할 수 있지만 잠금 파일 공유와 업데이트에 문제가 생김 Docker의 AI 디버깅 도우미 Gordon은 컨테이너 빌드가 2분 안에 끝나지 않으면 세션을 종료하며, 이 제한을 조정할 방법이 없음 타임아웃은 안전한 기본값, 명확한 문서, 플래그나 환경 변수 등으로 재정의할 수 있는 수단을 갖춰야 함 전 세계 개발자는 서로 다른 네트워크 환경에서 작업함. 도구를 배포하기 전에 느린 연결과 큰 저장소, 느린 작업 자체를 디버깅하는 상황을 고려해야 함 고정된 타임아웃 때문에 막힌 두 가지 작업 vercel-labs의 skills 패키지로 스킬을 설치하는 과정에서, 당시 별 3만 개 이상을 받은 스킬 모음 awesome-copilot 저장소가 너무 커 npx skills의 60초 복제 제한에 걸림 관련 GitHub 이슈 #278는 2월부터 열려 있었지만 응답이 없는 상태였음 제한 시간을 바꾸는 설정, --timeout 플래그, 환경 변수가 없었음 저장소를 먼저 수동 복제하고 로컬 사본에서 설치하면 대체로 작동하지만, skills-lock.json이 해당 컴퓨터의 로컬 경로를 가리켜 동료가 사용할 수 없게 됨 스킬을 업데이트할 때마다 로컬 사본도 직접 갱신해야 함 Docker Gordon은 Docker에 내장된 AI 디버깅 도우미로, 컨테이너 빌드 오류와 함께 나타난 사용 제안을 계기로 시도하게 됨 빌드 문제를 수정하고, 다시 빌드하고, 결과를 확인하는 반복 작업 중 빌드가 2분을 넘으면 세션이 종료되어 처음부터 다시 시작해야 했음 빠른 환경에서 캐시와 기본 이미지가 이미 준비돼 있다면 충분할 수 있지만, 느린 연결로 새 기본 이미지를 내려받거나 무거운 레이어가 여러 개 있는 다단계 빌드를 디버깅할 때는 부족함 GORDON_TIMEOUT=600 같은 환경 변수나 --build-timeout 같은 조정 수단이 없음 기본값은 두되, 사용자가 바꿀 수 있게 해야 함 타임아웃 자체는 필요함. 무한 대기와 멈춘 프로세스를 피해야 하지만, 개발자의 빠른 컴퓨터와 기가비트 연결을 기준으로 정한 제한을 전 세계 사용자에게 변경 수단...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵