diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go index f1b2751f8..cd8340c41 100755 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -11,6 +11,7 @@ import ( "io" "net/http" "os" + "path" "sort" "strconv" "strings" @@ -117,32 +118,31 @@ func GetFileNoteBookInfo(ctx *context.APIContext) { return } waitCountGPU := (*queuesMap)[specGpuQueueCode] - if !setting.ModelartsCD.Enabled{ + if !setting.ModelartsCD.Enabled { ctx.JSON(http.StatusOK, map[string]interface{}{ - "code": 0, - "projectName":setting.FileNoteBook.ProjectName, - "specCpu": specCPU, - "specGpu": specGpu, - "specNpu": specNPU, - "waitCountGpu": waitCountGPU, - "waitCountNpu": waitCountNpu, - "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, - "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, - "imageNpuDescription": setting.FileNoteBook.ImageNPUDescription, - + "code": 0, + "projectName": setting.FileNoteBook.ProjectName, + "specCpu": specCPU, + "specGpu": specGpu, + "specNpu": specNPU, + "waitCountGpu": waitCountGPU, + "waitCountNpu": waitCountNpu, + "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, + "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, + "imageNpuDescription": setting.FileNoteBook.ImageNPUDescription, }) - } else{ + } else { ctx.JSON(http.StatusOK, map[string]interface{}{ - "code": 0, - "projectName":setting.FileNoteBook.ProjectName, - "specCpu": specCPU, - "specGpu": specGpu, - "specNpu": specNPUCD, - "waitCountGpu": waitCountGPU, - "waitCountNpu": waitCountNpu, - "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, - "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, - "imageNpuDescription": setting.FileNoteBook.ImageNPUCDDescription, + "code": 0, + "projectName": setting.FileNoteBook.ProjectName, + "specCpu": specCPU, + "specGpu": specGpu, + "specNpu": specNPUCD, + "waitCountGpu": waitCountGPU, + "waitCountNpu": waitCountNpu, + "imageCpuDescription": setting.FileNoteBook.ImageCPUDescription, + "imageGpuDescription": setting.FileNoteBook.ImageGPUDescription, + "imageNpuDescription": setting.FileNoteBook.ImageNPUCDDescription, }) } @@ -211,7 +211,7 @@ func GetCloudbrainTask(ctx *context.APIContext) { ID := ctx.Params(":id") - job,err := cloudbrain.GetCloudBrainByIdOrJobId(ID) + job, err := cloudbrain.GetCloudBrainByIdOrJobId(ID) if err != nil { ctx.NotFound(err) @@ -557,6 +557,12 @@ func ModelSafetyGetLog(ctx *context.APIContext) { }) return } + prefix := strings.TrimPrefix(path.Join(setting.TrainJobModelPath, job.JobName, modelarts.LogPath, job.VersionName), "/") + "/job" + _, err = storage.GetObsLogFileName(prefix) + canLogDownload := isCanDownloadLog(ctx, job) + if err != nil { + canLogDownload = false + } ctx.Data["log_file_name"] = resultLogFile.LogFileList[0] ctx.JSON(http.StatusOK, map[string]interface{}{ "JobID": job.JobID, @@ -565,7 +571,7 @@ func ModelSafetyGetLog(ctx *context.APIContext) { "EndLine": result.EndLine, "Content": result.Content, "Lines": result.Lines, - "CanLogDownload": isCanDownloadLog(ctx, job), + "CanLogDownload": canLogDownload, "StartTime": job.StartTime, }) } diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index b992734e4..01d2e2fa4 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -240,9 +240,9 @@ func Notebook2Create(ctx *context.Context, form auth.CreateModelArtsNotebookForm } if setting.ModelartsCD.Enabled { - _, err = modelarts_cd.GenerateNotebook(ctx, displayJobName, jobName, uuid, description, imageId, spec, "",modelarts.AutoStopDurationMs) + _, err = modelarts_cd.GenerateNotebook(ctx, displayJobName, jobName, uuid, description, imageId, spec, "", modelarts.AutoStopDurationMs) } else { - _, err = modelarts.GenerateNotebook2(ctx, displayJobName, jobName, uuid, description, imageId, spec, "",modelarts.AutoStopDurationMs) + _, err = modelarts.GenerateNotebook2(ctx, displayJobName, jobName, uuid, description, imageId, spec, "", modelarts.AutoStopDurationMs) } if err != nil { @@ -388,33 +388,31 @@ func NotebookDebug2(ctx *context.Context) { ctx.RenderWithErr(err.Error(), tplModelArtsNotebookIndex, nil) return } - if task.BootFile!=""{ - ctx.Redirect(getFileUrl(result.Url,task.BootFile) + "?token="+ result.Token) - }else{ + if task.BootFile != "" { + ctx.Redirect(getFileUrl(result.Url, task.BootFile) + "?token=" + result.Token) + } else { ctx.Redirect(result.Url + "?token=" + result.Token) } - } -func getFileUrl(url string,filename string) string{ - middle:="" - if url[len(url)-3:]=="lab" || url[len(url)-4:]=="lab/" { +func getFileUrl(url string, filename string) string { + middle := "" + if url[len(url)-3:] == "lab" || url[len(url)-4:] == "lab/" { if url[len(url)-1] == '/' { - middle="tree/" + middle = "tree/" } else { - middle= "/tree/" + middle = "/tree/" } - }else{ + } else { if url[len(url)-1] == '/' { middle = "lab/tree/" } else { - middle= "/lab/tree/" + middle = "/lab/tree/" } } - - return url+middle+path.Base(filename) + return url + middle + path.Base(filename) } func NotebookRestart(ctx *context.Context) { @@ -446,7 +444,7 @@ func NotebookRestart(ctx *context.Context) { } else { if count >= 1 { log.Error("the user already has running or waiting task", ctx.Data["MsgID"]) - resultCode="2" + resultCode = "2" errorMsg = ctx.Tr("repo.cloudbrain.morethanonejob") break } diff --git a/templates/custom/home/home_user_experience.tmpl b/templates/custom/home/home_user_experience.tmpl index edee8993d..4bae1fd9d 100644 --- a/templates/custom/home/home_user_experience.tmpl +++ b/templates/custom/home/home_user_experience.tmpl @@ -109,6 +109,7 @@ -webkit-box-orient: vertical; -webkit-line-clamp: 2; max-height: 50px; + height: 40px; white-space: break-spaces; }