ruby-on-rails - 限制 Rails 应用程序生成的出站 API 调用

标签 ruby-on-rails api

我不是专业的 Web 开发人员,但我喜欢将网站作为一种爱好。最近,我一直在开发一个 Rails 应用程序作为一个项目来帮助我学习框架。我的玩具应用程序的目标是通过他们的 API 从另一个服务收集数据,并让我可以使用搜索功能进行查询。

但是,我想从中提取数据的服务对每分钟可能执行的 API 调用数量施加了速率限制。我计划让我的应用程序每天运行一次更新,这可能会产生远远超过外部服务提供的限制的大量 API 调用。我希望尊重外部站点的性能,因此希望限制我的应用程序执行调用的速率。

我进行了一些搜索,我发现大量的教程 Material 和预建库涵盖了对 Web 应用程序的入站 API 调用进行节流,并且几乎找不到关于控制出站调用流的讨论。

作为一名业余 Web 开发人员和 Rails 新手,我完全有可能在错误的地方执行了错误的搜索。因此我的问题是:

  • 是否有一个不错的网站汇总了 Rails 教程,其中包含与限制出站 API 请求相关的 Material ?
  • 是否有任何 ruby​​ gem 或其他库可以帮助我限制请求?

  • 我有一些关于如何使用 DelayedJob 或 Resque 等基于队列的工作程序来编写节流系统来管理 API 调用的想法,但如果有一个好的预已经在那里构建了解决方案。

    最佳答案

    没有人谈论出站节流的原因是它通常是微不足道的,因为你可以控制它。控制带宽可能有点困难,但控制请求数量?

    ri Kernel#sleep
    

    因此,如果您每分钟允许 10 次 api 调用,则每次调用后您只需 sleep(6)

    关于ruby-on-rails - 限制 Rails 应用程序生成的出站 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2806911/

    相关文章:

    objective-c - Gmail API 用于 Objective-C?

    php - 使用curl抓取Yahoo Groups

    ruby-on-rails - 云上传错误

    ios - rails : redirect_to 'myapp://' to call iOS app from mobile safari

    ruby-on-rails - 用自定义图像替换损坏的外部图像

    html - 如何使用样式标签在我的 css 中使用 ruby​​ on rails?

    ruby-on-rails - `parse_rackup_file' : rackup file (config. ru) 不可读 (ArgumentError)

    api - WSO2 API Manager - 它可以在后端将 REST 请求转换为 SOAP 请求吗?

    amazon-web-services - 如何使用 SAM local generate event with queryparameters 生成事件?

    java - 在Java中部分读取文件