|
|
@@ -70,14 +70,8 @@ func CloudBrainIndex(ctx *context.Context) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
timestamp := time.Now().Unix() |
|
|
|
for i, task := range ciTasks { |
|
|
|
if task.Status == string(models.JobRunning) && (timestamp-int64(task.Cloudbrain.CreatedUnix) > 10) { |
|
|
|
ciTasks[i].CanDebug = cloudbrain.CanCreateOrDebugJob(ctx) |
|
|
|
} else { |
|
|
|
ciTasks[i].CanDebug = false |
|
|
|
} |
|
|
|
|
|
|
|
ciTasks[i].CanDebug = cloudbrain.CanCreateOrDebugJob(ctx) |
|
|
|
ciTasks[i].CanDel = cloudbrain.CanDeleteJob(ctx, &task.Cloudbrain) |
|
|
|
|
|
|
|
} |
|
|
@@ -831,10 +825,24 @@ func SyncCloudbrainStatus() { |
|
|
|
taskRes, _ := models.ConvertToTaskPod(taskRoles[cloudbrain.SubTaskName].(map[string]interface{})) |
|
|
|
task.Status = taskRes.TaskStatuses[0].State |
|
|
|
if task.Status != string(models.JobWaiting) { |
|
|
|
task.Duration = time.Now().Unix() - taskRes.TaskStatuses[0].StartAt.Unix() |
|
|
|
err = models.UpdateJob(task) |
|
|
|
if err != nil { |
|
|
|
log.Error("UpdateJob(%s) failed:%v", task.JobName, err) |
|
|
|
continue |
|
|
|
} |
|
|
|
|
|
|
|
if task.Duration >= setting.MaxDuration { |
|
|
|
log.Info("begin to stop job(%s), because of the duration", task.JobName) |
|
|
|
err = cloudbrain.StopJob(task.JobID) |
|
|
|
if err != nil { |
|
|
|
log.Error("StopJob(%s) failed:%v", task.JobName, err) |
|
|
|
continue |
|
|
|
} |
|
|
|
task.Status = string(models.JobStopped) |
|
|
|
err = models.UpdateJob(task) |
|
|
|
if err != nil { |
|
|
|
log.Error("UpdateJob(%s) failed:%v", task.JobName, err) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|