Improve health checks for instances

This commit is contained in:
2025-10-26 19:05:03 +01:00
parent f94d05dad2
commit 2a1bebeb24
5 changed files with 324 additions and 80 deletions

View File

@@ -7,24 +7,23 @@ export function useInstanceHealth(instanceName: string, instanceStatus: Instance
const [health, setHealth] = useState<HealthStatus | undefined>()
useEffect(() => {
if (instanceStatus === "stopped") {
setHealth({ status: "unknown", lastChecked: new Date() })
return
}
if (instanceStatus === "failed") {
setHealth({ status: instanceStatus, lastChecked: new Date() })
return
}
// Subscribe to health updates for this instance
const unsubscribe = healthService.subscribe(instanceName, (healthStatus) => {
setHealth(healthStatus)
})
// Cleanup subscription on unmount or when instanceStatus changes
// Cleanup subscription on unmount or when instance changes
return unsubscribe
}, [instanceName])
// Trigger health check when instance status changes to active states
useEffect(() => {
if (instanceStatus === 'running' || instanceStatus === 'restarting') {
healthService.refreshHealth(instanceName).catch(error => {
console.error(`Failed to refresh health for ${instanceName}:`, error)
})
}
}, [instanceName, instanceStatus])
return health
}
}