정확한주기적인 메서드 호출에 의존하는 많은 코드를 작성합니다. 내가 런타임의 스레드 풀 위에 통화를 제출 파이썬의 futures
라이브러리를 사용하여 루프에서 호출 사이에 자고했습니다 그러나Python 2.7에서 Go의`time.Tick` 또는 Netty의`HashedWheelTimer`와 비슷한 것이 있습니까?
executor = ThreadPoolExecutor(max_workers=cpu_count())
def remote_call():
# make a synchronous bunch of HTTP requests
def loop():
while True:
# do work here
executor.submit(remote_call)
time.sleep(60*5)
,이 구현은 실행의 긴 기간 (후 약간의 드리프트를 도입 것으로 나타났습니다 예를 들어 약 10 시간 동안이 코드를 실행하고 약 7 초의 드리프트가 있음). 내 일을 위해서 나는 이것을 정확한 순간에 실행해야하고, 밀리 세컨드는 훨씬 더 좋을 것이다. 어떤 사람들은 asyncio
("Fire and forget" python async/await)을 지적했지만, 파이썬 2.7에서이 작업을 수행하지 못했습니다.
나는 해킹을 찾고 있지 않습니다. 내가 진정으로 원하는 것은 Go의 time.Tick
또는 Netty의 HashedWheelTimer
과 비슷한 것입니다.
https://stackoverflow.com/questions/5568646/usleep-in-python 가능성이있는 속임수 –
일부 운영 체제의 경우 차트가 흥미 롭습니다. https://stackoverflow.com/questions/1133857/how- 정확한 - 비단뱀 - 시간 - 수면 –
아니, 거짓말. 이 말은 https://stackoverflow.com/a/34366451/1773216 – nmurthy