diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index 0e461869f..51d8dd7e8 100755 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -854,7 +854,10 @@ func RegisterRoutes(m *macaron.Macaron) { }, reqRepoReader(models.UnitTypeCloudBrain)) m.Group("/modelarts", func() { m.Group("/notebook", func() { - m.Get("/:jobid", repo.GetModelArtsTask) + m.Get("/:jobid", repo.GetModelArtsNotebook) + }) + m.Group("/train-job", func() { + m.Get("/:jobid", repo.GetModelArtsTrainJob) }) }, reqRepoReader(models.UnitTypeCloudBrain)) }, repoAssignment()) diff --git a/routers/api/v1/repo/modelarts.go b/routers/api/v1/repo/modelarts.go index 1b58a2fab..1687c479a 100755 --- a/routers/api/v1/repo/modelarts.go +++ b/routers/api/v1/repo/modelarts.go @@ -11,9 +11,10 @@ import ( "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/modelarts" "net/http" + "strconv" ) -func GetModelArtsTask(ctx *context.APIContext) { +func GetModelArtsNotebook(ctx *context.APIContext) { var ( err error ) @@ -43,3 +44,34 @@ func GetModelArtsTask(ctx *context.APIContext) { }) } + +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) + err = models.UpdateJob(job) + if err != nil { + log.Error("UpdateJob failed:", err) + } + + ctx.JSON(http.StatusOK, map[string]interface{}{ + "JobID": jobID, + "JobStatus": job.Status, + }) + +} diff --git a/templates/repo/modelarts/trainjob/index.tmpl b/templates/repo/modelarts/trainjob/index.tmpl index 4b097dd9e..00c81517d 100755 --- a/templates/repo/modelarts/trainjob/index.tmpl +++ b/templates/repo/modelarts/trainjob/index.tmpl @@ -92,9 +92,9 @@ -