📝 "🐛 Refactor backend files, improve documentation, and update UI components (#123)"
This commit is contained in:
@@ -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'}
|
||||
|
Reference in New Issue
Block a user