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라고 한다.
참조
728x90
반응형
'Programming-[Backend] > Python' 카테고리의 다른 글
[TIL] 파이썬 단일 메서드 실행 디버깅 - shell_plus (0) | 2023.09.14 |
---|---|
[TIL] PyPy, CPython과 session close(), reference counting (0) | 2023.09.13 |
[TIL] prviate, public 메서드 테스트 기준, Exception 테스트 기준 (0) | 2023.09.07 |
[TIL] Deepcopy, dict 순서 유지 (0) | 2023.08.16 |
[TIL] python csv writer StringIO, BytesIO for AWS boto3 (0) | 2023.06.13 |