// Copyright 2016 The Gogs Authors. All rights reserved. // Copyright 2018 The Gitea Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. package repo import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/modelarts" "net/http" "strconv" ) func GetModelArtsNotebook(ctx *context.APIContext) { var ( err error ) jobID := ctx.Params(":jobid") repoID := ctx.Repo.Repository.ID job, err := models.GetRepoCloudBrainByJobID(repoID, jobID) if err != nil { ctx.NotFound(err) return } result, err := modelarts.GetJob(jobID) if err != nil { ctx.NotFound(err) return } job.Status = result.Status err = models.UpdateJob(job) if err != nil { log.Error("UpdateJob failed:", err) } ctx.JSON(http.StatusOK, map[string]interface{}{ "JobID": jobID, "JobStatus": result.Status, }) } func GetModelArtsTrainJob(ctx *context.APIContext) { var ( err error ) jobID := ctx.Params(":jobid") repoID := ctx.Repo.Repository.ID job, err := models.GetRepoCloudBrainByJobID(repoID, jobID) if err != nil { ctx.NotFound(err) return } result, err := modelarts.GetTrainJob(jobID, strconv.FormatInt(job.VersionID, 10)) if err != nil { ctx.NotFound(err) return } job.Status = modelarts.TransTrainJobStatus(result.IntStatus) job.Duration = result.Duration job.TrainJobDuration = result.TrainJobDuration err = models.UpdateJob(job) if err != nil { log.Error("UpdateJob failed:", err) } ctx.JSON(http.StatusOK, map[string]interface{}{ "JobID": jobID, "JobStatus": job.Status, "JobDuration": job.Duration, }) } func TrainJobGetLog(ctx *context.APIContext) { var ( err error ) log.Info("test") var jobID = ctx.Params(":jobid") var logFileName = ctx.Query("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.JSON(http.StatusBadRequest, map[string]interface{}{ "err_msg": "order check failed", }) return } task, err := models.GetCloudbrainByJobID(jobID) if err != nil { log.Error("GetCloudbrainByJobID(%s) failed:%v", jobID, err.Error()) ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ "err_msg": "GetCloudbrainByJobID failed", }) return } result, err := modelarts.GetTrainJobLog(jobID, strconv.FormatInt(task.VersionID, 10), baseLine, logFileName, order, modelarts.Lines) if err != nil { log.Error("GetTrainJobLog(%s) failed:%v", jobID, err.Error()) ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ "err_msg": "GetTrainJobLog failed", }) return } ctx.JSON(http.StatusOK, map[string]interface{}{ "JobID": jobID, "StartLine": result.StartLine, "EndLine": result.EndLine, "Content": result.Content, "Lines": result.Lines, }) }