Preload all device statuses for improved request stability
New Feature
What does this MR do?
This MR preloads all states before writing their respective timestamps. It also preloads all repositories and devices in parallel/conccurrently. This helps with multiple slower devices and keeps a very stable timestamp that no longer will fluxuate "wildly" if one or two devices are quite slow to response. This removes a slew of client errors that can happen when making requests inbetween when this is happening. In short: this should improve stability and performance for systems with devices that have significant latency (> 200ms).
Related issues
Checklist
-
Application works as expected when running from source -
There are dependency changes -
Liquidctl device mock tests are successful (if applicable) -
Any needed documentation changes have been made -
This MR is ready to be merged