diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index 53a3d9545..48013de84 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -79,7 +79,7 @@ func GetCloudbrainTask(ctx *context.APIContext) { job.ContainerID = taskRes.TaskStatuses[0].ContainerID job.Status = taskRes.TaskStatuses[0].State - if job.StartTime == 0 { + if job.StartTime == 0 && !taskRes.TaskStatuses[0].StartAt.IsZero() { job.StartTime = timeutil.TimeStamp(taskRes.TaskStatuses[0].StartAt.Unix()) } } diff --git a/routers/api/v1/repo/modelarts.go b/routers/api/v1/repo/modelarts.go index 5675ed20a..c6e2892ea 100755 --- a/routers/api/v1/repo/modelarts.go +++ b/routers/api/v1/repo/modelarts.go @@ -68,7 +68,7 @@ func GetModelArtsNotebook2(ctx *context.APIContext) { ctx.NotFound(err) return } - if job.StartTime == 0 { + if job.StartTime == 0 && result.Lease.CreateTime > 0 { job.StartTime = timeutil.TimeStamp(result.Lease.CreateTime / 1000) } job.Status = result.Status @@ -140,7 +140,7 @@ func GetModelArtsTrainJobVersion(ctx *context.APIContext) { ctx.NotFound(err) return } - if job.StartTime == 0 { + if job.StartTime == 0 && result.StartTime > 0 { job.StartTime = timeutil.TimeStamp(result.StartTime / 1000) } job.Status = modelarts.TransTrainJobStatus(result.IntStatus) @@ -379,7 +379,7 @@ func GetModelArtsInferenceJob(ctx *context.APIContext) { ctx.NotFound(err) return } - if job.StartTime == 0 { + if job.StartTime == 0 && result.StartTime > 0 { job.StartTime = timeutil.TimeStamp(result.StartTime / 1000) } job.Status = modelarts.TransTrainJobStatus(result.IntStatus) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index cdaa8b515..9ff299ba9 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -381,7 +381,7 @@ func cloudBrainShow(ctx *context.Context, tpName base.TplName) { task.Status = taskRes.TaskStatuses[0].State task.ContainerID = taskRes.TaskStatuses[0].ContainerID task.ContainerIp = taskRes.TaskStatuses[0].ContainerIP - if task.StartTime == 0 { + if task.StartTime == 0 && !taskRes.TaskStatuses[0].StartAt.IsZero() { task.StartTime = timeutil.TimeStamp(taskRes.TaskStatuses[0].StartAt.Unix()) } err = models.UpdateJob(task) @@ -961,7 +961,7 @@ func SyncCloudbrainStatus() { task.Status = taskRes.TaskStatuses[0].State if task.Status != string(models.JobWaiting) { task.Duration = time.Now().Unix() - taskRes.TaskStatuses[0].StartAt.Unix() - if task.StartTime == 0 { + if task.StartTime == 0 && !taskRes.TaskStatuses[0].StartAt.IsZero() { task.StartTime = timeutil.TimeStamp(taskRes.TaskStatuses[0].StartAt.Unix()) } //if task.Status == string(models.JobFailed) { @@ -1008,7 +1008,7 @@ func SyncCloudbrainStatus() { if result != nil { task.Status = result.Status - if task.StartTime == 0 { + if task.StartTime == 0 && result.Lease.CreateTime > 0 { task.StartTime = timeutil.TimeStamp(result.Lease.CreateTime / 1000) } if task.EndTime == 0 && task.Status == string(models.ModelArtsStopped) { @@ -1033,7 +1033,7 @@ func SyncCloudbrainStatus() { task.Duration = result.Duration / 1000 task.TrainJobDuration = result.TrainJobDuration - if task.StartTime == 0 { + if task.StartTime == 0 && result.StartTime > 0 { task.StartTime = timeutil.TimeStamp(result.StartTime / 1000) } if result.Duration != 0 {