gpt4 book ai didi

ruby-on-rails - 处理 API 速率限制?

转载 作者:数据小太阳 更新时间:2023-10-29 06:54:39 24 4
gpt4 key购买 nike

我有一个应用程序设置为每天一次对多个 API 进行预定调用。这工作得很好,但我知道我正在调用的一些 API(例如 Twitter)有速率限制。随着我调用的电话数量不断增加,有人可以推荐一种方法来限制我的电话,这样我就可以每小时/分钟发送 x 次吗?

我找到了 Glutton Ratelimit gem,有人在用这个吗?它有什么好处吗?还有其他我应该看的吗?

最佳答案

如果您使用某种后台 worker 来执行您的 API 调用,您可以重新安排任务在下一个时间段重新执行,此时速率限制已被重置。

class TwitterWorker
include Sidekiq::Worker

def perform(status_id)
status = Twitter.status(status_id)
# ...

rescue Twitter::Error::TooManyRequests
# Reschedule the query to be performed in the next time slot
TwitterWorker.perform_in(15.minutes, status_id)
end
end

虽然没有科学的解决方案,例如如果您尝试在一天内执行比速率限制允许的更多的 API 调用,则每次都可能重新安排查询的风险。但在那之前,一些简单的事情可能会成功!

关于ruby-on-rails - 处理 API 速率限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16645482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com