2016-07-27 2 views
0

pagespeed API에 대한 일괄 요청 전송과 관련하여 문제가 있습니다. 내 Google 개발자 콘솔에서 본 것으로부터 하루에 최대 100,000 건의 요청을 처리 할 수 ​​있어야합니다. 그러나, 나는 초당 50을 시도하는 것조차도 문제에 직면하고있다. 내 루비 응용 프로그램에 타이밍을 부과하려고 노력하고 오류를 변경하지 않는 몇 가지 이유가 있습니다. 나는 아직도 결과에서 알맞은 양의 google로부터 rateLimitExceeded Error를 얻는다. 그게 중요하다면 나는 ~ 1000 URL을 포함하는 배열에서 이것을하고있다.Google API에 대한 일괄 요청이 초당 1 회 발생합니다.

여기 내 배치 함수가 있는데, 다른 함수의 루프에서 호출하는 것이므로 타이밍이 더 잘 작동한다고 생각했습니다. 그러나 그것은 아무것도 변화시키지 않는 것처럼 보였다. 이 발생하는 이유

def send_request(urls) 
    @psservice.batch do |ps| 
    urls.each do |url| 
     ps.run_pagespeed(url) do |result, err| 
     err.nil? ? @data.push(result) : @errors.push("#{url}, #{err}") 
     end 
    end 
    end 
end 

@urls.each_slice(50).to_a.each do |url_list| 
    send_request(url_list, options) 
    sleep(1) 
end 

어떤 아이디어에서 호출됩니다? 미리 감사드립니다.

답변

0

Google Pagespeed의 할당량을 잘못 읽었습니다. 100 회의 요청/100 초입니다. 그래서 한 번 요청하십시오. 실제로 1 요청/초인지 확인하는 것이 많을 것 같습니다. 100 번 요청을 실행하고 100 초를 기다리는 데 여전히 문제가 있습니다.