request 를 이용하여 http 요청을 처리할 때 재작업을 해야 하는 경우가 있습니다.
하나는 서버에 연결후 정상적으로 응답이 와서 응답을 보고 재작업을 해야 하는 경우 retry 모듈을 이용하여 재작업을 처리할 수 있습니다. 다른 방법은 서버에 정상적으로 연결이 되지 않는 경우 다시 재작업을 해야 하는 경우 데코레이터 모듈을 이용하여 재작업을 할 수 있습니다.
retry 모듈
retry 모듈은 서버의 응답에 따라서 재작업을 진행할 수 있습니다. 서버가 특정 응답을 보낼때는 재작업을 한다는 룰을 가질 수 있는 경우 사용할 수 있습니다.
https://brownbears.tistory.com/613
https://www.peterbe.com/plog/best-practice-with-retries-with-requests
decorator를 사용하는 방법
데코레이터는 서버에 연결이 안되는 경우 사용할 수 있습니다. 네트워크 상황이 좋지 않거나, 서버 앞에 프록시 서버가 있어서 연결이 제대로 되지 않는 경우 사용할 수 있습니다.
pip로 retry 모듈을 설치하여 사용할 수도 있고, 직접 구현해서 사용할 수도 있습니다.
https://stackoverflow.com/questions/50246304/using-python-decorators-to-retry-request
https://medium.com/analytics-vidhya/retry-decorator-in-python-55d0729755c7
https://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/
'python' 카테고리의 다른 글
[python] 함수 변수의 *, ** 전달자 확인 (0) | 2023.07.02 |
---|---|
[python] pandas import 시 UserWarning: Could not import the lzma module. Your installed Python is incomplete 오류 (0) | 2023.03.21 |
[python] requests 라이브러리에서 exceptions.MaxRetryError 가 발생하는 경우 처리 방법 (0) | 2022.05.17 |
[python] http를 이용한 post 구현 (0) | 2022.05.17 |
[python] datetime 변환시 타임존을 설정해야 하는 이유 (0) | 2022.05.17 |