ahh pickles
This commit is contained in:
SpudGunMan
2025-10-08 12:45:37 -07:00
parent b4f0421423
commit 8765e5a871
2 changed files with 30 additions and 0 deletions
+3
View File
@@ -1736,6 +1736,9 @@ async def start_rx():
logger.debug(f"System: Ignoring Channels: {ignoreChannels}")
if noisyNodeLogging:
logger.debug(f"System: Noisy Node Logging Enabled")
if logMetaStats:
logger.debug(f"System: Logging Metadata Stats Enabled, leaderboard")
loadLeaderboard()
if enableSMTP:
if enableImap:
logger.debug(f"System: SMTP Email Alerting Enabled using IMAP")
+27
View File
@@ -1421,6 +1421,31 @@ def noisyTelemetryCheck():
# reset the packet count for the node
positionMetadata[nodeID]['packetCount'] = 0
def saveLeaderboard():
# save the meshLeaderboard to a pickle file
global meshLeaderboard
try:
with open('data/leaderboard.pkl', 'wb') as f:
pickle.dump(meshLeaderboard, f)
if logMetaStats:
logger.debug("System: Mesh Leaderboard saved to mesh_leaderboard.pkl")
except Exception as e:
logger.warning(f"System: Error saving Mesh Leaderboard: {e}")
def loadLeaderboard():
# load the meshLeaderboard from a pickle file
global meshLeaderboard
try:
with open('data/leaderboard.pkl', 'rb') as f:
meshLeaderboard = pickle.load(f)
if logMetaStats:
logger.debug("System: Mesh Leaderboard loaded from mesh_leaderboard.pkl")
except FileNotFoundError:
if logMetaStats:
logger.debug("System: No existing Mesh Leaderboard found, starting fresh")
except Exception as e:
logger.warning(f"System: Error loading Mesh Leaderboard: {e}")
def get_mesh_leaderboard():
"""Get formatted leaderboard of extreme mesh metrics"""
global meshLeaderboard
@@ -1748,6 +1773,8 @@ def exit_handler():
save_bbsdb()
save_bbsdm()
logger.debug(f"System: BBS Messages Saved")
if logMetaStats:
saveLeaderboard()
logger.debug(f"System: Exiting")
asyncLoop.stop()
asyncLoop.close()