确保Google API的批量请求每秒发生一次



我在发送页面速度API的批处理请求时遇到了一些问题。从我在谷歌开发者控制台上看到的情况来看,我每秒应该有100个请求,每天最多25000个。然而,我遇到了一个问题,即使只是尝试每秒50次。我曾试图将计时强加给我的ruby应用程序,但出于某种原因,这并不能改变错误。我仍然从谷歌上得到了相当多的结果。如果这很重要的话,我在包含大约1000个url的数组上做这件事。

这是我的批处理函数,我从另一个函数循环调用它,我认为这可能更适合计时。但这似乎并没有改变任何事情。

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

你知道为什么会发生这种情况吗?提前感谢

我误读了Google Pagespeed的配额——它是100个请求/100秒。所以一秒钟一个请求。我似乎越是检查它实际上是每秒1个请求。我仍然在尝试运行100个请求然后等待100秒时遇到问题。

相关内容

  • 没有找到相关文章

最新更新