using monotonic time

This commit is contained in:
Devaev Maxim 2020-11-13 12:31:00 +03:00
parent 65c6abee24
commit 58f60bb49f
3 changed files with 7 additions and 7 deletions

View File

@ -80,9 +80,9 @@ class Snapshoter: # pylint: disable=too-many-instance-attributes
last_snapshot_ts = 0.0 last_snapshot_ts = 0.0
while True: while True:
live = is_live() live = is_live()
if last_snapshot_ts + (self.__live_interval if live else self.__idle_interval) < time.time(): if last_snapshot_ts + (self.__live_interval if live else self.__idle_interval) < time.monotonic():
await self.__take_snapshot(live, notifier) await self.__take_snapshot(live, notifier)
last_snapshot_ts = time.time() last_snapshot_ts = time.monotonic()
await asyncio.sleep(min(self.__idle_interval, self.__live_interval)) await asyncio.sleep(min(self.__idle_interval, self.__live_interval))
else: else:
await aiotools.wait_infinite() await aiotools.wait_infinite()

View File

@ -66,9 +66,9 @@ class _SpiPhyConnection(BasePhyConnection):
assert len(request) == 8 assert len(request) == 8
assert request[0] == 0x33 assert request[0] == 0x33
deadline_ts = time.time() + self.__read_timeout deadline_ts = time.monotonic() + self.__read_timeout
dummy = b"\x00" * 8 dummy = b"\x00" * 8
while time.time() < deadline_ts: while time.monotonic() < deadline_ts:
if bytes(self.__xfer(dummy)) == dummy: if bytes(self.__xfer(dummy)) == dummy:
break break
else: else:
@ -78,9 +78,9 @@ class _SpiPhyConnection(BasePhyConnection):
self.__xfer(request) self.__xfer(request)
response: List[int] = [] response: List[int] = []
deadline_ts = time.time() + self.__read_timeout deadline_ts = time.monotonic() + self.__read_timeout
found = False found = False
while time.time() < deadline_ts: while time.monotonic() < deadline_ts:
for byte in self.__xfer(b"\x00" * (5 - len(response))): for byte in self.__xfer(b"\x00" * (5 - len(response))):
if not found: if not found:
if byte != 0x33: if byte != 0x33:

View File

@ -328,7 +328,7 @@ class Plugin(BaseMsd): # pylint: disable=too-many-instance-attributes
assert self.__new_file assert self.__new_file
await aiofs.afile_write_now(self.__new_file, chunk) await aiofs.afile_write_now(self.__new_file, chunk)
self.__new_file_written += len(chunk) self.__new_file_written += len(chunk)
now = time.time() now = time.monotonic()
if self.__new_file_tick + 1 < now: if self.__new_file_tick + 1 < now:
# Это нужно для ручного оповещения о свободном пространстве на диске, см. get_state() # Это нужно для ручного оповещения о свободном пространстве на диске, см. get_state()
self.__new_file_tick = now self.__new_file_tick = now