宽松的API速率限制:尊重Retry-After之后仍然受到限制

时间:2019-10-10 06:45:43

标签: slack-api

我打Slack search.messages endpoint时,我拨打太多电话,得到HTTP 429响应。这些响应带有Retry-After标头,指示重试之前要等待的秒数(docs)。我已经将代码设置为等待此秒数,但是重试时仍然受到速率的限制。

  • 我从Slack获得重试后的值,范围是1-3秒
  • 我可以确认我正在等待那个秒数,不是在使用毫秒
  • 我正在测试时仅此过程正在访问Slack API
  • 我尝试等待20秒左右,而不是所示的1-3,但仍然受到速率的限制。等待60秒似乎有效。

我是在做错什么,还是值松弛发送不正确?

1 个答案:

答案 0 :(得分:0)

事实证明,我有一些错误的假设并且记录不足。我希望解释一下对别人有帮助。

Retry-After标头中返回的值是秒数,直到至少一个以上的请求成功,直到速率限制被“重置”为止。

在我的测试中,在等待Retry-After秒之后,一个请求成功(但未记录),然后再次限制了第二个请求的速率。这意味着我只看到等待时间,而请求失败,使我相信Retry-After不正确。