Originally faced here:
https://stackoverflow.com/q/46306660/1113207
Simple code to reproduce:
import asyncio
import time
async def main():
while True:
asyncio.ensure_future(asyncio.sleep(1))
t0 = time.time()
await asyncio.sleep(0.1)
t1 = time.time()
print(t1 - t0)
if t1 - t0 < 0.1:
print('bug ^')
break
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
I thought that it may be related to event loop's internal clock, but changing time.time() with asyncio.get_event_loop().time() doesn't help.
Tested on Windows 10 x64, Python 3.6.2. |