-
[R] Sys.sleep을 이용한 속도 제한 이슈 해결Data Analysis/R 2021. 8. 29. 19:04반응형
Table of Contents
- Introduction
- 코드 실행을 잠시 멈추는 함수, Sys.sleep
- Reference
Introduction
코딩 업무를 수행하는 과정에서 내가 만든 코드를 실행할 때 에러가 발생하는 것 만큼 끔찍한 상황이 없다. 보통은 오타이거나 변수나 함수를 잘못 참조했기 때문에 발생할 것이다. 만약, API를 가이드 문서에 따라 사용했다면 더욱 당황스럽다.
코드 실행을 잠시 멈추는 함수, Sys.sleep
API를 가져다가 쓸때 아래와 같는 에러를 본 적이 있을 것이다. API를 제공하는 회사에서 서버의 부담을 줄이기 위해 데이터 전송 건수를 제안했기 때문에 발생한다. 이를 해결하기 위해서 코드가 빨리 실행하는게 걸리는 시간을 줄여주는 것이 필요하다. 이때 사용하는 함수가 Sys.sleep() 함수이다.
Naver News Search API 호출 에러 에러: '{"errorMessage":"Rate limit exceeded. (속도 제한을 초과했습니다.)","errorCode":"012"}' does not exist in current working directory ('C:/Project'). Sys.sleep은 R을 설치하면 기본적으로 제공하는 함수이기 때문에 특별한 설치가 필요없다. Sys.sleep() 함수에는 숫자를 입력해서 일정 시간을 지연시킬 수 있다. 숫자는 반드시 음수가 올 수 없다. 네이버의 공지사항을 살펴보니, API 호출 횟수를 초당 10건으로 제한한 것으로 나타났다. 반복문에 Sys.sleep(0.1)을 넣어놓고 정상적으로 수집해 오는 것을 확인했다.
Reference
Sys.time function, www.rdocumentation.org/packages/base/versions/3.6.2/topics/Sys.sleep
네이버, "검색 API 초당 호출 제한 공지 [2018년 01월 02일]", bit.ly/39eke2F
반응형'Data Analysis > R' 카테고리의 다른 글
[R] 오프라인 환경을 위한 R 라이브러리 (2) 2022.02.28 [R] .libPaths()를 이용한 "package or namespace load failed" 조치 (0) 2021.09.10 [R] system.time을 이용한 실행 속도 측정 (1) 2021.08.29 [R] try, tryCatch를 이용한 예외처리 (2) 2021.08.29 [R] R/R스튜디오 설치하기 (1) 2021.08.28