mirror of
https://github.com/nxshock/gron.git
synced 2024-11-27 03:41:00 +05:00
Move run tries to separate func
This commit is contained in:
parent
828fed25c8
commit
c08aadda4f
45
job.go
45
job.go
@ -118,6 +118,30 @@ func (j *Job) Run() {
|
||||
defer jobLogFile.Close()
|
||||
|
||||
for i := 0; i < j.JobConfig.NumberOfRestartAttemts+1; i++ {
|
||||
err := j.runTry(log, jobLogFile)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
if j.JobConfig.RestartRule == No || j.JobConfig.NumberOfRestartAttemts == 0 {
|
||||
break
|
||||
}
|
||||
|
||||
if i == 0 {
|
||||
log.Printf("Job failed, restarting in %d seconds.", j.JobConfig.RestartSec)
|
||||
j.Status = Restarting
|
||||
} else if i < j.JobConfig.NumberOfRestartAttemts {
|
||||
j.Status = Restarting
|
||||
log.Printf("Retry attempt №%d of %d failed, restarting in %d seconds.", i, j.JobConfig.NumberOfRestartAttemts, j.JobConfig.RestartSec)
|
||||
} else {
|
||||
log.Printf("Retry attempt №%d of %d failed.", i, j.JobConfig.NumberOfRestartAttemts)
|
||||
}
|
||||
|
||||
time.Sleep(time.Duration(j.JobConfig.RestartSec) * time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
func (j *Job) runTry(log *log.Entry, jobLogFile *os.File) error {
|
||||
log.Info("Started.")
|
||||
startTime := time.Now()
|
||||
|
||||
@ -157,26 +181,7 @@ func (j *Job) Run() {
|
||||
j.LastExecutionDuration = endTime.Sub(startTime).Truncate(time.Second).String()
|
||||
globalMutex.Unlock()
|
||||
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
|
||||
if j.JobConfig.RestartRule == No || j.JobConfig.NumberOfRestartAttemts == 0 {
|
||||
break
|
||||
}
|
||||
|
||||
if i == 0 {
|
||||
log.Printf("Job failed, restarting in %d seconds.", j.JobConfig.RestartSec)
|
||||
j.Status = Restarting
|
||||
} else if i < j.JobConfig.NumberOfRestartAttemts {
|
||||
j.Status = Restarting
|
||||
log.Printf("Retry attempt №%d of %d failed, restarting in %d seconds.", i, j.JobConfig.NumberOfRestartAttemts, j.JobConfig.RestartSec)
|
||||
} else {
|
||||
log.Printf("Retry attempt №%d of %d failed.", i, j.JobConfig.NumberOfRestartAttemts)
|
||||
}
|
||||
|
||||
time.Sleep(time.Duration(j.JobConfig.RestartSec) * time.Second)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (j *Job) runCmd(jobLogFile *os.File) error {
|
||||
|
Loading…
Reference in New Issue
Block a user