mirror of
https://github.com/Retropex/custom-ocean.xyz-dashboard.git
synced 2025-05-12 19:20:45 +02:00
Update state_manager.py
This commit is contained in:
parent
44c3db8512
commit
26e1780501
@ -408,3 +408,33 @@ class StateManager:
|
|||||||
# Cap the metrics log to three hours worth (180 entries)
|
# Cap the metrics log to three hours worth (180 entries)
|
||||||
if len(metrics_log) > MAX_HISTORY_ENTRIES:
|
if len(metrics_log) > MAX_HISTORY_ENTRIES:
|
||||||
metrics_log = metrics_log[-MAX_HISTORY_ENTRIES:]
|
metrics_log = metrics_log[-MAX_HISTORY_ENTRIES:]
|
||||||
|
|
||||||
|
def save_notifications(self, notifications):
|
||||||
|
"""Save notifications to persistent storage."""
|
||||||
|
try:
|
||||||
|
# If we have Redis, use it
|
||||||
|
if self.redis_client:
|
||||||
|
notifications_json = json.dumps(notifications)
|
||||||
|
self.redis_client.set("dashboard_notifications", notifications_json)
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
# Otherwise just keep in memory
|
||||||
|
return True
|
||||||
|
except Exception as e:
|
||||||
|
logging.error(f"Error saving notifications: {e}")
|
||||||
|
return False
|
||||||
|
|
||||||
|
def get_notifications(self):
|
||||||
|
"""Retrieve notifications from persistent storage."""
|
||||||
|
try:
|
||||||
|
# If we have Redis, use it
|
||||||
|
if self.redis_client:
|
||||||
|
notifications_json = self.redis_client.get("dashboard_notifications")
|
||||||
|
if notifications_json:
|
||||||
|
return json.loads(notifications_json)
|
||||||
|
|
||||||
|
# Return empty list if not found or no Redis
|
||||||
|
return []
|
||||||
|
except Exception as e:
|
||||||
|
logging.error(f"Error retrieving notifications: {e}")
|
||||||
|
return []
|
||||||
|
Loading…
Reference in New Issue
Block a user