Today I Learned
날짜
2024년 8월 6일 화요일
내용
너무 많은 요청과 재시도
네이버는 초당 20~30회 가 넘어가는 요청이 발생할 경우, 429 code를 반환해준다.
{"code":429,"message":"Too Many Requests"}
이런 모양새인데,
관리자의 말에 따르면 1초 후 재시도하라고 한다.
시도하다 status_code가 429면 1초 후 재시도 하도록. 혹시나 무한루프에 빠질까봐, max_retires를 설정해서 재귀 깊이가 5가 넘어가면 멈추도록 구현해놨다. 근데 계속 레포트 생성이 실패한다!
네이버에서 데이터를 가져오기 위해선, 각 날짜별로 보고서를 만들어야 한다. 7월 30일부터 7월 1일까지 보고서를 만들다가 7월 9일 보고서를 만드는 시점에 “429”가 뜬다면? 처음부터 다시한다.
그럴 필요가 있나? 7월 8일부터 다시 하면 된다. 오히려 다시 7월 30일부터 하면 7월 9일쯤에, 혹은 그 전에 오류가 뜰 가능성이 더 높겠다 싶었다.
재귀를 호출할 때는 시작 날짜인 start_date
를 현재 탐색하는 날짜인 current_date
로 처리하도록 바꿔줬다. 일단 되는데.. 기능이 상당히 불안정하다..
회고
왜 돌아갈까??
왜 안 돌아갈까? 방금은 됐는데…
왜 또 갑자기 돌아갈까? 로깅문만 추가했잖아
왜 이젠 안될까?? 필요없는 로깅문만 지웠잖아
왜 이번엔 될까? 계정만 바꾼거잖아요