|
|
@@ -752,47 +752,48 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName, jobType models.Jo |
|
|
|
ctx.NotFound(ctx.Req.URL.RequestURI(), nil) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
result, err := cloudbrain.GetJob(task.JobID) |
|
|
|
if err != nil { |
|
|
|
log.Info("error:" + err.Error()) |
|
|
|
ctx.NotFound(ctx.Req.URL.RequestURI(), nil) |
|
|
|
return |
|
|
|
} |
|
|
|
prepareSpec4Show(ctx, task) |
|
|
|
if ctx.Written() { |
|
|
|
return |
|
|
|
} |
|
|
|
if task.Status==string(models.JobWaiting) || task.Status==string(models.JobRunning) { |
|
|
|
result, err := cloudbrain.GetJob(task.JobID) |
|
|
|
if err != nil { |
|
|
|
log.Info("error:" + err.Error()) |
|
|
|
ctx.NotFound(ctx.Req.URL.RequestURI(), nil) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
if result != nil { |
|
|
|
jobRes, _ := models.ConvertToJobResultPayload(result.Payload) |
|
|
|
taskRoles := jobRes.TaskRoles |
|
|
|
taskRes, _ := models.ConvertToTaskPod(taskRoles[cloudbrain.SubTaskName].(map[string]interface{})) |
|
|
|
ctx.Data["taskRes"] = taskRes |
|
|
|
ctx.Data["ExitDiagnostics"] = taskRes.TaskStatuses[0].ExitDiagnostics |
|
|
|
oldStatus := task.Status |
|
|
|
task.Status = taskRes.TaskStatuses[0].State |
|
|
|
task.ContainerIp = "" |
|
|
|
task.ContainerID = taskRes.TaskStatuses[0].ContainerID |
|
|
|
models.ParseAndSetDurationFromCloudBrainOne(jobRes, task) |
|
|
|
|
|
|
|
if task.DeletedAt.IsZero() { //normal record |
|
|
|
if oldStatus != task.Status { |
|
|
|
notification.NotifyChangeCloudbrainStatus(task, oldStatus) |
|
|
|
} |
|
|
|
err = models.UpdateJob(task) |
|
|
|
if err != nil { |
|
|
|
ctx.Data["error"] = err.Error() |
|
|
|
return |
|
|
|
} |
|
|
|
} else { //deleted record |
|
|
|
|
|
|
|
if result != nil { |
|
|
|
jobRes, _ := models.ConvertToJobResultPayload(result.Payload) |
|
|
|
taskRoles := jobRes.TaskRoles |
|
|
|
taskRes, _ := models.ConvertToTaskPod(taskRoles[cloudbrain.SubTaskName].(map[string]interface{})) |
|
|
|
ctx.Data["taskRes"] = taskRes |
|
|
|
ctx.Data["ExitDiagnostics"] = taskRes.TaskStatuses[0].ExitDiagnostics |
|
|
|
oldStatus := task.Status |
|
|
|
task.Status = taskRes.TaskStatuses[0].State |
|
|
|
task.ContainerIp = "" |
|
|
|
task.ContainerID = taskRes.TaskStatuses[0].ContainerID |
|
|
|
models.ParseAndSetDurationFromCloudBrainOne(jobRes, task) |
|
|
|
|
|
|
|
if task.DeletedAt.IsZero() { //normal record |
|
|
|
if oldStatus != task.Status { |
|
|
|
notification.NotifyChangeCloudbrainStatus(task, oldStatus) |
|
|
|
} |
|
|
|
err = models.UpdateJob(task) |
|
|
|
if err != nil { |
|
|
|
ctx.Data["error"] = err.Error() |
|
|
|
return |
|
|
|
} |
|
|
|
} else { //deleted record |
|
|
|
|
|
|
|
ctx.Data["result"] = jobRes |
|
|
|
} else { |
|
|
|
log.Info("error:" + err.Error()) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
ctx.Data["result"] = jobRes |
|
|
|
} else { |
|
|
|
log.Info("error:" + err.Error()) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
user, err := models.GetUserByID(task.UserID) |
|
|
|