如何解决速率限制API?

时间:2019-06-21 15:48:21

标签: python rest api rate-limiting

我需要向一个API发出约12000个请求,该请求的速率限制为每个令牌每分钟100个请求。我可以在<= 20秒内拉出100个请求假设我仅使用1个令牌,是我花了两个小时来运行此脚本的下限,还是我没有看到最佳策略?

天真的第一方法是发出100个请求,然后等待61秒。我高度怀疑这是最佳选择。通常每分钟如何计算这100个请求?是否会每隔“日历”分钟进行计算(例如,我在12:01:39发出了100个请求,并在12:01:59结束了,那么我是否能够在12:02:01发出另外100个请求?)是动态计算的,因为每个请求在其时间戳记的前60秒内不能超过99个请求,否则会引发错误?

首次尝试:

for task_id in task_IDs:
        if (counter % 100) == 0 and counter != 0:
            time.sleep(61)
           CODE
        else:
            CODE

希望减少此脚本的运行时间。

0 个答案:

没有答案