File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change 2626from ..constants import (
2727 DAY_IN_HOURS ,
2828 DEFAULT_CONS_INTERVAL ,
29+ MAX_LOG_HOURS ,
2930 MAX_TIME_DRIFT ,
3031 MINIMAL_POWER_UPDATE ,
3132 NO_PRODUCTION_INTERVAL ,
@@ -635,6 +636,20 @@ async def _energy_log_records_load_from_cache(self) -> bool:
635636 restored_logs [address ] = []
636637 restored_logs [address ].append (slot )
637638
639+ # Sort and prune the records loaded from cache
640+ sorted_logs : dict [int , dict [int , PulseLogRecord ]] = {}
641+ skip_before = datetime .now (tz = UTC ) - timedelta (hours = MAX_LOG_HOURS )
642+ sorted_address = sorted (restored_logs .keys (), reverse = True )
643+ for address in sorted_address :
644+ sorted_slots = sorted (restored_logs [address ].keys (), reverse = True )
645+ for slot in sorted_slots :
646+ if restored_logs [address ][slot ].timestamp > skip_before :
647+ if sorted_log .get (address ) is None :
648+ sorted_log [address ] = {}
649+ sorted_log [address ][slot ] = restored_logs [address ][slot ]
650+
651+ restored_logs = sorted_logs
652+
638653 self ._energy_counters .update ()
639654
640655 # Create task to retrieve remaining (missing) logs
You can’t perform that action at this time.
0 commit comments