diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 3e33745ce..984447f8f 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -588,16 +588,15 @@ func TrainJobShow(ctx *context.Context) { result.DatasetName = attach.Name } - resultLogFile, resultLog, err := trainJobGetLog(ctx, jobID) + resultLogFile, resultLog, err := trainJobGetLog(jobID) if err != nil { log.Error("trainJobGetLog(%s) failed:%v", jobID, err.Error()) ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobShow, nil) + return } ctx.Data["log_file_name"] = resultLogFile.LogFileList[0] ctx.Data["log"] = resultLog - log.Info(resultLog.Content) - ctx.Data["task"] = task ctx.Data["jobID"] = jobID ctx.Data["result"] = result @@ -608,18 +607,35 @@ func TrainJobGetLog(ctx *context.Context) { ctx.Data["PageIsTrainJob"] = true var jobID = ctx.Params(":jobid") - resultLogFile, result, err := trainJobGetLog(ctx, jobID) + var logFileName = ctx.Query("log_file_name") + var baseLine = ctx.Query("base_line") + var order = ctx.Query("order") + + if order != modelarts.OrderDesc && order != modelarts.OrderAsc { + log.Error("order(%s) check failed", order) + ctx.HTML(http.StatusBadRequest, tplModelArtsTrainJobShow) + return + } + + task, err := models.GetCloudbrainByJobID(jobID) if err != nil { - log.Error("trainJobGetLog(%s) failed:%v", jobID, err.Error()) + log.Error("GetCloudbrainByJobID(%s) failed:%v", jobID, err.Error()) ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobShow, nil) + return + } + + result, err := modelarts.GetTrainJobLog(jobID, strconv.FormatInt(task.VersionID, 10), baseLine, logFileName, order, 20) + if err != nil { + log.Error("GetTrainJobLog(%s) failed:%v", jobID, err.Error()) + ctx.RenderWithErr(err.Error(), tplModelArtsTrainJobShow, nil) + return } - ctx.Data["log_file_name"] = resultLogFile.LogFileList[0] ctx.Data["log"] = result ctx.HTML(http.StatusOK, tplModelArtsTrainJobShow) } -func trainJobGetLog(ctx *context.Context, jobID string) (*models.GetTrainJobLogFileNamesResult, *models.GetTrainJobLogResult, error){ +func trainJobGetLog(jobID string) (*models.GetTrainJobLogFileNamesResult, *models.GetTrainJobLogResult, error){ task, err := models.GetCloudbrainByJobID(jobID) if err != nil { log.Error("GetCloudbrainByJobID(%s) failed:%v", jobID, err.Error())