- В настоящее время я использую REST API, который разрешает только 1000 запросов в час
- После того, как 1000 запросов израсходованы, вам нужно дождаться начала следующего часа для счетчика.для сброса
- Моя цель - определить количество секунд, которое я должен ждать до начала следующего часа
- В настоящее время я использую метод
time.sleep
, чтобы поставить скриптспать до начала следующего часа
Я собрал довольно грубое решение, используя библиотеку datetime
(добавляя две минуты, чтобы быть в безопасности)
import datetime
# Determine the seconds until the next hour (add 2 minutes to be safe)
now = datetime.datetime.now()
next_hour = datetime.datetime(now.year, now.month, now.day, now.hour + 1, 2)
sleep_seconds = (next_hour - now).seconds
# Put the execution to sleep for a while
print("Sleeping for {0} minutes...".format(sleep_seconds // 60))
time.sleep(sleep_seconds)
Этот скрипт работает, но ненадежен, когда следующий час является началом следующего дня.
datetime
ожидает значения часов между 0..23
- Если метод
datetime.datetime.now()
вернул 23
, метод потерпит неудачу, если вы передадите 24
в datetime
object - Также было бы ненадежно, если бы следующий день перешел и на следующий месяц или год.
Может ли кто-нибудь предложить лучшее решение, которое бы учитывало эти проблемы?