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)
|
||||
if len(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