API 호출 실패를 계속 놓치고 있어서 재시도 라이브러... 노트

API 호출 실패를 계속 놓치고 있어서 재시도 라이브러리를 만들었습니다

기존의 재시도 라이브러리는 재시도 횟수를 모두 소진한 후 단순히 오류를 발생시켜 실패한 요청에 대한 정보가 손실되는 경우가 많습니다. 이로 인해 웹훅이 조용히 삭제되는 것과 같은 문제를 진단하기 어렵습니다. 저자는 이를 해결하기 위해 설계된 TypeScript 라이브러리인 smart-retry를 개발했습니다. Smart-retry는 Axios 및 Fetch 클라이언트에 대한 즉시 사용 가능한 지원을 제공하며, 일반적인 함수 래퍼를 넘어섭니다. 주요 기능은 모든 재시도가 소진되었을 때 실패한 요청을 디스크에 자동으로 로깅하는 것입니다. 이 로그에는 URL, 메서드, 헤더 및 본문과 같은 중요한 세부 정보가 포함되어 나중에 검사하거나 다시 실행할 수 있습니다. 대조적으로, 기존 라이브러리는 오류를 발생시키면 이 정보를 잃게 됩니다. 이 라이브러리는 기본적으로 네트워크 오류, 타임아웃, 429 및 5xx 응답만 재시도하지만 이 동작은 사용자 정의할 수 있습니다. 저자는 라이브러리를 개선하기 위한 기여를 찾고 있으며, 특히 Axios 타임아웃 오류 처리를 수정하고, 테스트 커버리지를 추가하고, 지수 백오프에 대한 최대 지연을 구현하고, 공개 타입 사용을 줄이고, 로그 회전을 문서화하는 데 중점을 두고 있습니다. 설정 지침은 CONTRIBUTING.md 파일에서 확인할 수 있으며 피드백을 환영합니다.