본문 바로가기
관리자

Programming-[Backend]/Python

[TIL] 파이썬 Retry 방식 요약 backoff_factor, status_forcelist

728x90
반응형

파이썬의 requests.Retry 스펙은 대략 이렇다.

retry = Retry(
            total=retries,
            read=retries,
            connect=retries,
            backoff_factor=backoff_factor,
            status_forcelist=status_forcelist)

 

서버간 또는 서버 - 클라이언트간 통신에서 서버에 요청을 보냈는데, 500대 에러가 떨어지면서 정상적인 응답을 하지 못하는 경우 Retry를 적용한다.

 

보통은 서버가 잠시 네트워크 지연이 있거나, 너무 과도한 로드가 걸려있는 경우에 시행한다. Http Status Code = 500, 502, 503, 504 정도에 대해 시행한다. [TIL][link] HTTP 상태 코드별 내용 정리

 

total은 총 요청 횟수이다. 2 = [처음 요청 1번 + retry 1번]

backoff_factor는 retry 요청 횟수간 지연 간격을 2의 지수승으로 표현한다. 1st - 100ms, 2nd - 200 ms, 3rd - 400ms 등이다. 여러 요청이 똑같이 backoff_factor에 따른 지연 시간을 갖지 않게 약간씩 분산하는 기법을 Jitter라고 한다.

 

 

참조

https://it-neicebee.tistory.com/108

728x90
반응형