Browse Source

Merge branch 'grampus-notebook' of openi.pcl.ac.cn:OpenI/aiforge into grampus-notebook

tags/v1.22.12.1^2
zhoupzh 3 years ago
parent
commit
6d93e414b3
3 changed files with 26 additions and 7 deletions
  1. +4
    -1
      models/cloudbrain.go
  2. +21
    -5
      routers/repo/grampus.go
  3. +1
    -1
      services/cloudbrain/cloudbrainTask/count.go

+ 4
- 1
models/cloudbrain.go View File

@@ -114,6 +114,7 @@ const (
GrampusStatusFailed = "FAILED" GrampusStatusFailed = "FAILED"
GrampusStatusSucceeded = "SUCCEEDED" GrampusStatusSucceeded = "SUCCEEDED"
GrampusStatusStopped = "STOPPED" GrampusStatusStopped = "STOPPED"
GrampusStatusStopping = "STOPPING"
GrampusStatusUnknown = "UNKNOWN" GrampusStatusUnknown = "UNKNOWN"
GrampusStatusWaiting = "WAITING" GrampusStatusWaiting = "WAITING"


@@ -1545,7 +1546,9 @@ type GrampusNotebookRestartResponse struct {


type GrampusStopJobResponse struct { type GrampusStopJobResponse struct {
GrampusResult GrampusResult
StoppedAt int64 `json:"stoppedAt"`
StoppedAt int64 `json:"stoppedAt"`
ID string `json:"id"`
Status string `json:"status"`
} }


type GrampusTasks struct { type GrampusTasks struct {


+ 21
- 5
routers/repo/grampus.go View File

@@ -949,7 +949,7 @@ func GrampusStopJob(ctx *context.Context) {
break break
} }
oldStatus := task.Status oldStatus := task.Status
task.Status = string(models.GrampusStatusStopped)
task.Status = getStopJobResponseStatus(res)
if task.EndTime == 0 { if task.EndTime == 0 {
task.EndTime = timeutil.TimeStampNow() task.EndTime = timeutil.TimeStampNow()
} }
@@ -978,6 +978,14 @@ func GrampusStopJob(ctx *context.Context) {
}) })
} }


func getStopJobResponseStatus(res *models.GrampusStopJobResponse) string {
newStatus := models.GrampusStatusStopping
if res.Status != "" {
newStatus = grampus.TransTrainJobStatus(res.Status)
}
return newStatus
}

func GrampusNotebookDel(ctx *context.Context) { func GrampusNotebookDel(ctx *context.Context) {
var listType = ctx.Query("listType") var listType = ctx.Query("listType")
if err := deleteGrampusJob(ctx); err != nil { if err := deleteGrampusJob(ctx); err != nil {
@@ -1039,19 +1047,23 @@ func deleteGrampusJob(ctx *context.Context) error {
return nil return nil
} }


type NotebookDataset struct {
DatasetUrl string `json:"dataset_url"`
}

func GrampusNotebookShow(ctx *context.Context) { func GrampusNotebookShow(ctx *context.Context) {
ctx.Data["PageIsCloudBrain"] = true ctx.Data["PageIsCloudBrain"] = true


var task *models.Cloudbrain var task *models.Cloudbrain
task, err := models.GetCloudbrainByJobIDWithDeleted(ctx.Params(":jobid"))
task, err := models.GetCloudbrainByIDWithDeleted(ctx.Params(":id"))
if err != nil { if err != nil {
log.Error("GetCloudbrainByJobID failed:" + err.Error())
log.Error("GetCloudbrainByID failed:" + err.Error())
ctx.NotFound(ctx.Req.URL.RequestURI(), nil) ctx.NotFound(ctx.Req.URL.RequestURI(), nil)
return return
} }
task.ContainerIp = "" task.ContainerIp = ""


if task.DeletedAt.IsZero() { //normal record
if task.DeletedAt.IsZero() && cloudbrainTask.IsTaskNotStop(task) { //normal record
result, err := grampus.GetNotebookJob(task.JobID) result, err := grampus.GetNotebookJob(task.JobID)
if err != nil { if err != nil {
log.Error("GetJob failed:" + err.Error()) log.Error("GetJob failed:" + err.Error())
@@ -1116,9 +1128,13 @@ func GrampusNotebookShow(ctx *context.Context) {
} }
} }
prepareSpec4Show(ctx, task) prepareSpec4Show(ctx, task)
ctx.Data["datasetDownload"] = GetCloudBrainDataSetInfo(task.Uuid, task.DatasetName, false)
datasetList := make([]NotebookDataset, 0)
_ = json.Unmarshal([]byte(task.DataUrl), &datasetList)

ctx.Data["datasetDownload"] = datasetList
ctx.Data["canDownload"] = cloudbrain.CanModifyJob(ctx, task) ctx.Data["canDownload"] = cloudbrain.CanModifyJob(ctx, task)
ctx.Data["ai_center"] = cloudbrainService.GetAiCenterShow(task.AiCenter, ctx) ctx.Data["ai_center"] = cloudbrainService.GetAiCenterShow(task.AiCenter, ctx)
ctx.Data[""] = cloudbrainService.GetAiCenterShow(task.AiCenter, ctx)
ctx.HTML(http.StatusOK, tplGrampusNotebookShow) ctx.HTML(http.StatusOK, tplGrampusNotebookShow)
} }




+ 1
- 1
services/cloudbrain/cloudbrainTask/count.go View File

@@ -16,7 +16,7 @@ type StatusInfo struct {


var CloudbrainOneNotFinalStatuses = []string{string(models.JobWaiting), string(models.JobRunning)} var CloudbrainOneNotFinalStatuses = []string{string(models.JobWaiting), string(models.JobRunning)}
var CloudbrainTwoNotFinalStatuses = []string{string(models.ModelArtsTrainJobInit), string(models.ModelArtsTrainJobImageCreating), string(models.ModelArtsTrainJobSubmitTrying), string(models.ModelArtsTrainJobWaiting), string(models.ModelArtsTrainJobRunning), string(models.ModelArtsTrainJobScaling), string(models.ModelArtsTrainJobCheckInit), string(models.ModelArtsTrainJobCheckRunning), string(models.ModelArtsTrainJobCheckRunningCompleted)} var CloudbrainTwoNotFinalStatuses = []string{string(models.ModelArtsTrainJobInit), string(models.ModelArtsTrainJobImageCreating), string(models.ModelArtsTrainJobSubmitTrying), string(models.ModelArtsTrainJobWaiting), string(models.ModelArtsTrainJobRunning), string(models.ModelArtsTrainJobScaling), string(models.ModelArtsTrainJobCheckInit), string(models.ModelArtsTrainJobCheckRunning), string(models.ModelArtsTrainJobCheckRunningCompleted)}
var GrampusNotFinalStatuses = []string{models.GrampusStatusWaiting, models.GrampusStatusRunning}
var GrampusNotFinalStatuses = []string{models.GrampusStatusWaiting, models.GrampusStatusRunning, models.GrampusStatusStopping}
var StatusInfoDict = map[string]StatusInfo{string(models.JobTypeDebug) + "-" + strconv.Itoa(models.TypeCloudBrainOne): { var StatusInfoDict = map[string]StatusInfo{string(models.JobTypeDebug) + "-" + strconv.Itoa(models.TypeCloudBrainOne): {
CloudBrainTypes: []int{models.TypeCloudBrainOne}, CloudBrainTypes: []int{models.TypeCloudBrainOne},
JobType: []models.JobType{models.JobTypeDebug}, JobType: []models.JobType{models.JobTypeDebug},


Loading…
Cancel
Save