Browse Source

update

tags/v1.22.1.2
liuzx 3 years ago
parent
commit
b88876379a
4 changed files with 61 additions and 3 deletions
  1. +13
    -2
      models/cloudbrain.go
  2. +4
    -1
      routers/api/v1/api.go
  3. +41
    -0
      routers/api/v1/repo/modelarts.go
  4. +3
    -0
      routers/repo/modelarts.go

+ 13
- 2
models/cloudbrain.go View File

@@ -19,8 +19,8 @@ type JobType string
type ModelArtsJobStatus string

const (
NPUResource = "NPU"
GPUResource = "CPU/GPU"
NPUResource = "NPU"
GPUResource = "CPU/GPU"

JobWaiting CloudbrainStatus = "WAITING"
JobStopped CloudbrainStatus = "STOPPED"
@@ -1207,3 +1207,14 @@ func GetCloudbrainTrainJobCountByUserID(userID int64) (int, error) {
And("job_type = ? and user_id = ? and type = ?", JobTypeTrain, userID, TypeCloudBrainTwo).Count(new(Cloudbrain))
return int(count), err
}

func UpdateInferenceJob(job *Cloudbrain) error {
return updateJobInferenceJob(x, job)
}

func updateJobInferenceJob(e Engine, job *Cloudbrain) error {
var sess *xorm.Session
sess = e.Where("job_id = ?", job.JobID)
_, err := sess.Cols("status", "train_job_duration").Update(job)
return err
}

+ 4
- 1
routers/api/v1/api.go View File

@@ -524,7 +524,7 @@ func RegisterRoutes(m *macaron.Macaron) {
Get(notify.GetThread).
Patch(notify.ReadThread)
}, reqToken())
operationReq := context.Toggle(&context.ToggleOptions{SignInRequired: true, OperationRequired: true})
//Project board
m.Group("/projectboard", func() {
@@ -886,6 +886,9 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Get("/model_list", repo.ModelList)
})
})
m.Group("/inference-job", func() {
m.Get("/:jobid", repo.GetModelArtsInferenceJob)
})
}, reqRepoReader(models.UnitTypeCloudBrain))
}, repoAssignment())
})


+ 41
- 0
routers/api/v1/repo/modelarts.go View File

@@ -343,3 +343,44 @@ func deleteJobStorage(jobName string) error {

return nil
}

func GetModelArtsInferenceJob(ctx *context.APIContext) {
var (
err error
)

jobID := ctx.Params(":jobid")
job, err := models.GetCloudbrainByJobID(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

if result.Duration != 0 {
job.TrainJobDuration = addZero(result.Duration/3600000) + ":" + addZero(result.Duration%3600000/60000) + ":" + addZero(result.Duration%60000/1000)

} else {
job.TrainJobDuration = "00:00:00"
}

err = models.UpdateInferenceJob(job)
if err != nil {
log.Error("UpdateJob failed:", err)
}

ctx.JSON(http.StatusOK, map[string]interface{}{
"JobID": jobID,
"JobStatus": job.Status,
"JobDuration": job.TrainJobDuration,
})

}

+ 3
- 0
routers/repo/modelarts.go View File

@@ -1700,6 +1700,8 @@ func InferenceJobCreate(ctx *context.Context, form auth.CreateModelArtsInference
EngineName: EngineName,
ModelName: modelName,
ModelVersion: modelVersion,
CkptName: ckptName,
ResultUrl: resultObsPath,
}

//将params转换Parameters.Parameter,出错时返回给前端
@@ -1744,6 +1746,7 @@ func InferenceJobIndex(ctx *context.Context) {
for i, task := range tasks {
tasks[i].CanDel = cloudbrain.CanDeleteJob(ctx, &task.Cloudbrain)
tasks[i].CanModify = cloudbrain.CanModifyJob(ctx, &task.Cloudbrain)
tasks[i].ComputeResource = models.NPUResource
}

pager := context.NewPagination(int(count), setting.UI.IssuePagingNum, page, 5)


Loading…
Cancel
Save