我正在使用一个 API,它会以我的语言返回确定类别的文章。此 API 将我限制为每次 60 分钟间隔 100 次调用。
我不想立即调用 100 个电话并让我的脚本等到 60 分钟过去。
然后,我可以每 36 秒发出一次 API 调用,但我也不希望均匀地发出 API 调用。
有什么可行的方法可以让我的脚本以随机的时间间隔进行 100 次 API 调用,只要 60 分钟内适合 100 次?
我想过创建一个函数,在这 60 分钟的间隔内生成 100 个时间戳,然后在每个时间戳的正确时间,它会发出 API 调用,但我认为这有点过分了,我我也不知道如何才能做到这一点。
最佳答案
您可以做的是选择您想要等待的最小/最大间隔。记下过去 60 分钟内发出的请求数量,如果仍低于配额,请下载文档并等待 rand(min, max)
。这不是很花哨,并且不会将等待时间分布在整个 60 分钟间隔内,但它很容易实现。
另一种方法是在 0
和 60*60
之间随机选择 100 个数字。这些是您提出请求的秒数。对它们进行排序,并在遍历数组时,每次等待下一个 - 当前
秒。 (甚至使用调度程序模块来简化它)
关于python - 如何在 60 分钟的时间间隔内随机分配 100 个 API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28124450/