У меня ~ 12000 запросов к API, ограничение скорости до 100 запросов в минуту на один токен. Я могу получить 100 запросов за <= 20 секунд. Предполагая, что я использую только один токен, у меня более низкий лимит к этому сценарию, требующий два часа для запуска, или есть оптимальная стратегия, которую я не вижу? </p>
Наивный первый подход - сделать 100 запросов, а затем подождать 61 секунду. Я очень сомневаюсь, что это оптимально. Как обычно будут учитываться эти 100 запросов в минуту? Будет ли он вычисляться каждую «календарную» минуту (например, я сделал 100 запросов в 12:01:39, заканчивая в 12:01:59, смог бы я тогда сделать еще 100 запросов в 12:02:01?) Или быть динамически вычисленным, так как каждый запрос не может иметь более 99 запросов за предыдущие 60 секунд от своей отметки времени, в противном случае он выдаст ошибку?
Наивная первая попытка:
for task_id in task_IDs:
if (counter % 100) == 0 and counter != 0:
time.sleep(61)
CODE
else:
CODE
Хотелось бы уменьшить количество времени, которое требуется для запуска этого скрипта.