Browse Source

Merge remote-tracking branch 'origin/fix-2373' into point-v2

pull/2885/head
chenyifan01 2 years ago
parent
commit
afaa474084
2 changed files with 40 additions and 15 deletions
  1. +13
    -0
      modules/templates/helper.go
  2. +27
    -15
      routers/api/v1/repo/modelarts.go

+ 13
- 0
modules/templates/helper.go View File

@@ -18,6 +18,7 @@ import (
"path/filepath" "path/filepath"
"regexp" "regexp"
"runtime" "runtime"
"strconv"
"strings" "strings"
texttmpl "text/template" texttmpl "text/template"
"time" "time"
@@ -327,6 +328,7 @@ func NewFuncMap() []template.FuncMap {
}, },
"GetRefType": GetRefType, "GetRefType": GetRefType,
"GetRefName": GetRefName, "GetRefName": GetRefName,
"MB2GB": MB2GB,
}} }}
} }


@@ -785,3 +787,14 @@ func GetRefName(ref string) string {
reg := regexp.MustCompile(REF_TYPE_PATTERN) reg := regexp.MustCompile(REF_TYPE_PATTERN)
return reg.ReplaceAllString(ref, "") return reg.ReplaceAllString(ref, "")
} }

func MB2GB(size int64) string {
s := strconv.FormatFloat(float64(size)/float64(1024), 'f', 2, 64)
for strings.HasSuffix(s, "0") {
s = strings.TrimSuffix(s, "0")
}
if strings.HasSuffix(s, ".") {
s = strings.TrimSuffix(s, ".")
}
return s
}

+ 27
- 15
routers/api/v1/repo/modelarts.go View File

@@ -7,8 +7,10 @@ package repo


import ( import (
"code.gitea.io/gitea/modules/grampus" "code.gitea.io/gitea/modules/grampus"
"code.gitea.io/gitea/modules/setting"
"encoding/json" "encoding/json"
"net/http" "net/http"
"path"
"strconv" "strconv"
"strings" "strings"


@@ -263,39 +265,49 @@ func TrainJobGetLog(ctx *context.APIContext) {
return return
} }


resultLogFile, result, err := trainJobGetLogContent(jobID, versionName, baseLine, order, lines_int)
task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName)
if err != nil {
log.Error("GetCloudbrainByJobID(%s) failed:%v", jobID, err.Error())
return
}
resultLogFile, result, err := trainJobGetLogContent(jobID, task.VersionID, baseLine, order, lines_int)
if err != nil { if err != nil {
log.Error("trainJobGetLog(%s) failed:%v", jobID, err.Error()) log.Error("trainJobGetLog(%s) failed:%v", jobID, err.Error())
// ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobShow, nil) // ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobShow, nil)
return return
} }


prefix := strings.TrimPrefix(path.Join(setting.TrainJobModelPath, task.JobName, modelarts.LogPath, versionName), "/") + "/job"
_, err = storage.GetObsLogFileName(prefix)
var canLogDownload bool
if err != nil {
canLogDownload = false
} else {
canLogDownload = true
}

ctx.Data["log_file_name"] = resultLogFile.LogFileList[0] ctx.Data["log_file_name"] = resultLogFile.LogFileList[0]


ctx.JSON(http.StatusOK, map[string]interface{}{ ctx.JSON(http.StatusOK, map[string]interface{}{
"JobID": jobID,
"LogFileName": resultLogFile.LogFileList[0],
"StartLine": result.StartLine,
"EndLine": result.EndLine,
"Content": result.Content,
"Lines": result.Lines,
"JobID": jobID,
"LogFileName": resultLogFile.LogFileList[0],
"StartLine": result.StartLine,
"EndLine": result.EndLine,
"Content": result.Content,
"Lines": result.Lines,
"CanLogDownload": canLogDownload,
}) })
} }


func trainJobGetLogContent(jobID string, versionName string, baseLine string, order string, lines int) (*models.GetTrainJobLogFileNamesResult, *models.GetTrainJobLogResult, error) {
task, err := models.GetCloudbrainByJobIDAndVersionName(jobID, versionName)
if err != nil {
log.Error("GetCloudbrainByJobID(%s) failed:%v", jobID, err.Error())
return nil, nil, err
}
func trainJobGetLogContent(jobID string, versionID int64, baseLine string, order string, lines int) (*models.GetTrainJobLogFileNamesResult, *models.GetTrainJobLogResult, error) {


resultLogFile, err := modelarts.GetTrainJobLogFileNames(jobID, strconv.FormatInt(task.VersionID, 10))
resultLogFile, err := modelarts.GetTrainJobLogFileNames(jobID, strconv.FormatInt(versionID, 10))
if err != nil { if err != nil {
log.Error("GetTrainJobLogFileNames(%s) failed:%v", jobID, err.Error()) log.Error("GetTrainJobLogFileNames(%s) failed:%v", jobID, err.Error())
return nil, nil, err return nil, nil, err
} }


result, err := modelarts.GetTrainJobLog(jobID, strconv.FormatInt(task.VersionID, 10), baseLine, resultLogFile.LogFileList[0], order, lines)
result, err := modelarts.GetTrainJobLog(jobID, strconv.FormatInt(versionID, 10), baseLine, resultLogFile.LogFileList[0], order, lines)
if err != nil { if err != nil {
log.Error("GetTrainJobLog(%s) failed:%v", jobID, err.Error()) log.Error("GetTrainJobLog(%s) failed:%v", jobID, err.Error())
return nil, nil, err return nil, nil, err


Loading…
Cancel
Save