spoolman: use loop time rather than datetime
The loop time is monotonic and can't be affected by changes to the system clock. Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This commit is contained in:
parent
b836d618c9
commit
e9ad278286
|
@ -6,7 +6,6 @@
|
||||||
|
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
import asyncio
|
import asyncio
|
||||||
import datetime
|
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
import tornado.websocket as tornado_ws
|
import tornado.websocket as tornado_ws
|
||||||
|
@ -39,7 +38,7 @@ class SpoolManager:
|
||||||
self.eventloop = self.server.get_event_loop()
|
self.eventloop = self.server.get_event_loop()
|
||||||
self._get_spoolman_urls(config)
|
self._get_spoolman_urls(config)
|
||||||
self.sync_rate_seconds = config.getint("sync_rate", default=5, minval=1)
|
self.sync_rate_seconds = config.getint("sync_rate", default=5, minval=1)
|
||||||
self.last_sync_time = datetime.datetime.now()
|
self.last_sync_time = 0.
|
||||||
self.extruded_lock = asyncio.Lock()
|
self.extruded_lock = asyncio.Lock()
|
||||||
self.spoolman_ws: Optional[WebSocketClientConnection] = None
|
self.spoolman_ws: Optional[WebSocketClientConnection] = None
|
||||||
self.connection_task: Optional[asyncio.Task] = None
|
self.connection_task: Optional[asyncio.Task] = None
|
||||||
|
@ -232,9 +231,9 @@ class SpoolManager:
|
||||||
self.extruded += epos - self._highest_epos
|
self.extruded += epos - self._highest_epos
|
||||||
self._highest_epos = epos
|
self._highest_epos = epos
|
||||||
|
|
||||||
now = datetime.datetime.now()
|
now = self.eventloop.get_loop_time()
|
||||||
difference = now - self.last_sync_time
|
difference = now - self.last_sync_time
|
||||||
if difference.total_seconds() > self.sync_rate_seconds:
|
if difference > self.sync_rate_seconds:
|
||||||
self.last_sync_time = now
|
self.last_sync_time = now
|
||||||
logging.debug("Sync period elapsed, tracking usage")
|
logging.debug("Sync period elapsed, tracking usage")
|
||||||
await self.track_filament_usage()
|
await self.track_filament_usage()
|
||||||
|
|
Loading…
Reference in New Issue