feat: implement bounded goroutine pools for task execution and notification handling; enhance task scheduler with graceful shutdown and cleanup routines; update metric component for new time range options

This commit is contained in:
Marvin Zhang
2025-08-06 17:57:37 +08:00
parent 9745129e33
commit 3678d14082
10 changed files with 744 additions and 138 deletions

View File

@@ -1752,9 +1752,7 @@ func (r *Runner) checkForZombieProcesses() {
// Process exists, check if it's a zombie
if proc, err := process.NewProcess(int32(r.pid)); err == nil {
if status, err := proc.Status(); err == nil {
// Status returns a string, check if it indicates zombie
statusStr := string(status)
if statusStr == "Z" || statusStr == "zombie" {
if status == "Z" || status == "zombie" {
r.Warnf("detected zombie process %d for task %s", r.pid, r.tid.Hex())
go r.cleanupOrphanedProcesses()
}