📝 "🐛 Refactor backend files, improve documentation, and update UI components (#123)"

This commit is contained in:
2025-06-01 00:59:13 +02:00
parent 070f4a6165
commit 4dd3c4b1b1
13 changed files with 11286 additions and 142 deletions

View File

@@ -5439,13 +5439,48 @@ def api_admin_database_status():
table_stats[table] = f"Error: {str(e)}"
# Connection-Pool-Status
pool_status = {
'pool_size': engine.pool.size(),
'checked_in': engine.pool.checkedin(),
'checked_out': engine.pool.checkedout(),
'overflow': engine.pool.overflow(),
'invalid': engine.pool.invalid()
}
pool_status = {}
try:
# StaticPool hat andere Methoden als andere Pool-Typen
if hasattr(engine.pool, 'size'):
pool_status['pool_size'] = engine.pool.size()
else:
pool_status['pool_size'] = 'N/A (StaticPool)'
if hasattr(engine.pool, 'checkedin'):
pool_status['checked_in'] = engine.pool.checkedin()
else:
pool_status['checked_in'] = 'N/A'
if hasattr(engine.pool, 'checkedout'):
pool_status['checked_out'] = engine.pool.checkedout()
else:
pool_status['checked_out'] = 'N/A'
if hasattr(engine.pool, 'overflow'):
pool_status['overflow'] = engine.pool.overflow()
else:
pool_status['overflow'] = 'N/A'
if hasattr(engine.pool, 'invalid'):
pool_status['invalid'] = engine.pool.invalid()
else:
pool_status['invalid'] = 'N/A'
# Zusätzliche StaticPool-spezifische Informationen
pool_status['pool_type'] = type(engine.pool).__name__
except Exception as pool_error:
app_logger.warning(f"Fehler beim Abrufen des Pool-Status: {str(pool_error)}")
pool_status = {
'pool_size': 'Error',
'checked_in': 'Error',
'checked_out': 'Error',
'overflow': 'Error',
'invalid': 'Error',
'pool_type': type(engine.pool).__name__,
'error': str(pool_error)
}
db_session.close()
@@ -5567,10 +5602,20 @@ def api_admin_system_status():
try:
boot_time = psutil.boot_time()
uptime_seconds = int(time.time() - boot_time)
# Robuste uptime-Formatierung
try:
days = uptime_seconds // 86400
hours = (uptime_seconds % 86400) // 3600
minutes = ((uptime_seconds % 86400) % 3600) // 60
uptime_formatted = f"{days}d {hours}h {minutes}m"
except (ValueError, OverflowError, ZeroDivisionError):
uptime_formatted = f"{uptime_seconds}s"
uptime_info = {
'boot_time': datetime.fromtimestamp(boot_time).isoformat(),
'uptime_seconds': uptime_seconds,
'uptime_formatted': str(timedelta(seconds=uptime_seconds))
'uptime_formatted': uptime_formatted
}
except Exception:
uptime_info = {'error': 'Uptime-Informationen nicht verfügbar'}