Ruby on rails - 如何创建基于一秒间隔命中 API 的方法



我正在创建一个库,我将delayed_job作为 heroku 上的后台服务运行。

lib 方法的重点是命中 API 来处理大量数据。我正在点击的 API 限制为每 600 秒 600 个图形 API 请求。

话虽如此,我想知道是否有可能确保我延迟的工作不会超过这一点。

像这样:

requests_made = 0
@items.each do |x|
    if request_made >= 600
        pause for 1 second??????? Is this possible?
    end
    ### HIT THE API
    requests_made = requests_made + 1
end

这样的事情可能吗?可以暂停吗?Heroku 的延迟作业将运行一个作业长达 4 小时,因此我认为超时不会成为问题。思潮?

sleep(1)可能是

最明确和最简单的方法。使用它会有问题吗?

添加为对评论的响应

要测量调用 API 所花费的时间,请执行

start_time = Time.now
call_the_API
spent_time = Time.now - start_time

然后你可以对spent_time做一些条件。

相关内容

  • 没有找到相关文章

最新更新