Objective Python 中的时间来源
Objective Source of Time in Python
我正在编写一个网络应用程序,它需要 objective 时间来源 "atomic clock or otherwise" 来处理每 15 分钟重置一次的 API 速率限制。
是否有 python 库可以完成这项任务,或者我应该尝试抓取网页还是什么?
编辑:很抱歉在哲学上不清楚 "objective." 我只是指一个网站,它提供了一个相当准确的时间来源,而不是我的电脑或其他,它在一两分钟内是准确的.
是什么让您认为您正在抓取的网站也使用 "objective time"?
我建议您将请求率降低到规定限制以下 5% 左右。
这应该有足够的回旋余地,低分辨率 "non-objective" 计时器会让您远离麻烦。
Wall time. The API resets once every 15 minutes. Within ~15 seconds accuracy but I'm flexible.
您可以使用 time.monotonic()
:
Return the value (in fractional seconds) of a monotonic clock, i.e. a
clock that cannot go backwards. The clock is not affected by system
clock updates. The reference point of the returned value is undefined,
so that only the difference between the results of consecutive calls
is valid.
您可以每 15 分钟调用一次 start = time.monotonic()
。差异 time.monotonic() - start
是在 15 秒公差范围内测量的经过时间。
PEP 418: Add monotonic time, performance counter, and process time functions 提到通常可用的硬件时钟以及相应 OS 时间函数的属性。
你可以implement time.monotonic()
on Python 2.7 if necessary。
我正在编写一个网络应用程序,它需要 objective 时间来源 "atomic clock or otherwise" 来处理每 15 分钟重置一次的 API 速率限制。
是否有 python 库可以完成这项任务,或者我应该尝试抓取网页还是什么?
编辑:很抱歉在哲学上不清楚 "objective." 我只是指一个网站,它提供了一个相当准确的时间来源,而不是我的电脑或其他,它在一两分钟内是准确的.
是什么让您认为您正在抓取的网站也使用 "objective time"?
我建议您将请求率降低到规定限制以下 5% 左右。
这应该有足够的回旋余地,低分辨率 "non-objective" 计时器会让您远离麻烦。
Wall time. The API resets once every 15 minutes. Within ~15 seconds accuracy but I'm flexible.
您可以使用 time.monotonic()
:
Return the value (in fractional seconds) of a monotonic clock, i.e. a clock that cannot go backwards. The clock is not affected by system clock updates. The reference point of the returned value is undefined, so that only the difference between the results of consecutive calls is valid.
您可以每 15 分钟调用一次 start = time.monotonic()
。差异 time.monotonic() - start
是在 15 秒公差范围内测量的经过时间。
PEP 418: Add monotonic time, performance counter, and process time functions 提到通常可用的硬件时钟以及相应 OS 时间函数的属性。
你可以implement time.monotonic()
on Python 2.7 if necessary。