diff --git a/models/cloudbrain.go b/models/cloudbrain.go index a8e906475d..19d6e99f18 100755 --- a/models/cloudbrain.go +++ b/models/cloudbrain.go @@ -446,7 +446,7 @@ func (task *Cloudbrain) NeedActiveStop() bool { //是否允许创建多版本 //目前只有启智NPU可以 func (task *Cloudbrain) IsAllowedToCreateMultipleVersions() bool { - if task.Type == TypeCloudBrainTwo && task.ComputeResource == NPUResource { + if task.Type == TypeCloudBrainTwo && task.ComputeResource == NPUResource && task.JobType != string(JobTypeDebug) { return true } return false @@ -2285,6 +2285,9 @@ func CloudbrainsVersionList(opts *CloudbrainsOptions) ([]*CloudbrainInfo, int, e } func GetCloudbrainEarlyVersionList(task *Cloudbrain) ([]*Cloudbrain, error) { + if task.JobID == "" { + return []*Cloudbrain{}, nil + } cloudbrains := make([]*Cloudbrain, 0) if err := x.Where(builder.NewCond(). And(builder.Eq{"cloudbrain.repo_id": task.RepoID}). diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 40a7ed88fe..63136ec877 100755 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -1310,7 +1310,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/debug", reqWechatBind, cloudbrain.AdminOrJobCreaterRight, repo.GrampusNotebookDebug) m.Get("/commit_image", cloudbrain.AdminOrJobCreaterRight, repo.GrampusCommitImageShow) m.Post("/commit_image", cloudbrain.AdminOrJobCreaterRight, bindIgnErr(auth.CommitImageGrampusForm{}), repo.GrampusCommitImage) - m.Post("/restart", reqWechatBind, cloudbrain.AdminOrJobCreaterRight, repo.GrampusNotebookRestart) + m.Post("/restart", reqWechatBindForApi, cloudbrain.AdminOrJobCreaterRight, repo.GrampusNotebookRestart) m.Post("/stop", cloudbrain.AdminOrOwnerOrJobCreaterRight, repo.GrampusStopJob) m.Post("/del", cloudbrain.AdminOrOwnerOrJobCreaterRight, repo.GrampusNotebookDel) }) @@ -1417,7 +1417,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Group("/:id", func() { m.Get("", reqRepoCloudBrainReader, repo.NotebookShow) m.Get("/debug", cloudbrain.AdminOrJobCreaterRight, repo.NotebookDebug2) - m.Post("/restart", cloudbrain.AdminOrJobCreaterRight, repo.NotebookRestart) + m.Post("/restart", reqWechatBindForApi, cloudbrain.AdminOrJobCreaterRight, repo.NotebookRestart) m.Post("/stop", cloudbrain.AdminOrOwnerOrJobCreaterRight, repo.NotebookStop) m.Post("/del", cloudbrain.AdminOrOwnerOrJobCreaterRight, repo.NotebookDel) }) diff --git a/services/ai_task_service/task/opt_handler.go b/services/ai_task_service/task/opt_handler.go index c8b30efef4..6895a90e8d 100644 --- a/services/ai_task_service/task/opt_handler.go +++ b/services/ai_task_service/task/opt_handler.go @@ -113,11 +113,26 @@ func (DefaultCreationHandler) BuildRequest4Restart(ctx *context.CreationContext) func (DefaultCreationHandler) CheckDatasetExists(ctx *context.CreationContext) *response.BizError { log.Info("Start to CheckDataset.displayJobName=%s jobType=%s cluster=%s", ctx.Request.DisplayJobName, ctx.Request.JobType, ctx.Request.Cluster) - if hasDatasetDeleted(ctx.Request.DatasetUUIDStr) { + datasetUUIDStr := ctx.Request.DatasetUUIDStr + if datasetUUIDStr == "" { + return nil + } + uuids := strings.Split(datasetUUIDStr, ";") + attachs, _ := models.GetAttachmentsByUUIDs(uuids) + + if len(attachs) < len(uuids) { log.Info("CheckDataset hasDatasetDeleted.displayJobName=%s jobType=%s cluster=%s", ctx.Request.DisplayJobName, ctx.Request.JobType, ctx.Request.Cluster) return response.DATASET_NOT_EXISTS } - + var datasetNames string + for i := 0; i < len(uuids); i++ { + for j := 0; j < len(attachs); j++ { + if uuids[i] == attachs[j].UUID { + datasetNames += attachs[j].Name + ";" + } + } + } + ctx.Request.DatasetNames = strings.TrimSuffix(datasetNames, ";") log.Info("CheckDataset success.displayJobName=%s jobType=%s cluster=%s", ctx.Request.DisplayJobName, ctx.Request.JobType, ctx.Request.Cluster) return nil }