MCPcopy Create free account
hub / github.com/MertJSX/folderhost / monitorService

Method monitorService

utils/service_utils/service_manager.go:475–502  ·  view source on GitHub ↗
(name string, service *ManagedService)

Source from the content-addressed store, hash-verified

473}
474
475func (sm *ServiceManager) monitorService(name string, service *ManagedService) {
476 err := service.CMD.Wait()
477
478 service.mu.Lock()
479 defer service.mu.Unlock()
480
481 if service.Status == "stopped" {
482 return
483 }
484
485 service.Status = "stopped"
486
487 if err != nil {
488 log.Printf("Service stopped: %s - Error: %v", name, err)
489 } else {
490 log.Printf("Service stopped: %s", name)
491 }
492
493 if service.Config.AutoRestart && sm.Ctx.Err() == nil {
494 log.Printf("Restarting service: %s", name)
495 time.Sleep(5 * time.Second)
496 go func() {
497 if err := sm.StartService(name); err != nil {
498 log.Printf("Service restart error: %s - %v", name, err)
499 }
500 }()
501 }
502}
503
504func (sm *ServiceManager) StopService(name string) error {
505 sm.Mu.RLock()

Callers 1

StartServiceMethod · 0.95

Calls 1

StartServiceMethod · 0.95

Tested by

no test coverage detected