gpt4 book ai didi

Ruby Twitter Gem,超出速率限制

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

我正在尝试使用 ruby​​ gem Twitter ( https://github.com/sferik/twitter ) 从 twitter api 获取用户的关注者。

根据文档 ( https://dev.twitter.com/docs/api/1/get/followers/ids ),twitter 在一个请求中返回 5000 个用户。根据速率限制设置,Twitter 允许我每 15 分钟调用 15 个电话 (https://dev.twitter.com/docs/rate-limiting/1.1/limits)

问题:

当我检索拥有超过 75000 个关注者 (5000*15) 的用户的关注者时,我收到“超出速率限制”错误。

当我使用 gem 方法 Twitter.followers_id(user) 时,我会自动获得所有关注者,而不是在带有光标的 5000 个桶中。我想 gem 会在内部处理这个问题,因此我无法控制或延迟这些请求。

在 gem 文档中有一个速率限制示例 ( https://github.com/sferik/twitter#rate-limiting ),但我不知道它是否处理了已经检索到的用户或重新开始。

我的问题是如何以及何时对此应用节流机制以获得所有关注者?

问候

最佳答案

此问题的解决方法解释得很好 here .

MAX_ATTEMPTS = 3
num_attempts = 0
begin
num_attempts += 1
retweets = Twitter.retweeted_by_user("sferik")
rescue Twitter::Error::TooManyRequests => error
if num_attempts <= MAX_ATTEMPTS
# NOTE: Your process could go to sleep for up to 15 minutes but if you
# retry any sooner, it will almost certainly fail with the same exception.
sleep error.rate_limit.reset_in
retry
else
raise
end
end

关于Ruby Twitter Gem,超出速率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600103/

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