diff --git a/handlers/handler.go b/handlers/handler.go index bc4a7bd..25ccd34 100644 --- a/handlers/handler.go +++ b/handlers/handler.go @@ -67,6 +67,7 @@ func (handler *SQSHandler) StartServer() error { glog.Info("The server is started") go handler.StartMonitoringProcess() + go handler.RemoveCompletedJobsProcess() return nil @@ -93,12 +94,19 @@ func (handler *SQSHandler) StartMonitoringProcess() { handler.MonitoredJobs = nextMonitoredJobs handler.Mu.Unlock() - RemoveCompletedJobs() - time.Sleep(30 * time.Second) } } +// RemoveCompletedJobsProcess starts the process to remove completed jobs +func (handler *SQSHandler) RemoveCompletedJobsProcess() { + for { + time.Sleep(300 * time.Second) + glog.Info("Start to remove completed jobs") + RemoveCompletedJobs() + } +} + // ShutdownServer shutdowns a server func (handler *SQSHandler) ShutdownServer() error { fmt.Println("Shutdown the server") diff --git a/handlers/jobs.go b/handlers/jobs.go index 26ac4e0..40fd656 100644 --- a/handlers/jobs.go +++ b/handlers/jobs.go @@ -153,7 +153,7 @@ func GetNumberRunningJobs() int { nRunningJobs := 0 for i := 0; i < len(jobs.JobInfo); i++ { job := jobs.JobInfo[i] - if job.Status == "Running" { + if job.Status == "Running" || job.Status == "Unknown" { nRunningJobs++ } }