Browse Source

fix-bug

tags/V1.22.3.1^2
liuzx 3 years ago
parent
commit
0d65992fcb
7 changed files with 58 additions and 32 deletions
  1. +6
    -11
      models/cloudbrain.go
  2. +6
    -5
      modules/auth/modelarts.go
  3. +2
    -4
      modules/modelarts/modelarts.go
  4. +2
    -2
      routers/repo/cloudbrain.go
  5. +36
    -4
      routers/repo/modelarts.go
  6. +3
    -3
      templates/repo/cloudbrain/new.tmpl
  7. +3
    -3
      templates/repo/modelarts/notebook/new.tmpl

+ 6
- 11
models/cloudbrain.go View File

@@ -1327,6 +1327,12 @@ func GetCloudbrainsNeededStopByRepoID(repoID int64) ([]*Cloudbrain, error) {
return cloudBrains, err
}

func GetCloudbrainsByRepoIDAndJobName(repoID int64, jobType string, displayJobName string) ([]*Cloudbrain, error) {
cloudBrains := make([]*Cloudbrain, 0)
err := x.Cols("job_id", "status", "type", "version_id").Where("repo_id=? AND job_type =? AND display_job_name=?", repoID, jobType, displayJobName.Find(&cloudBrains)
return cloudBrains, err
}

func SetCloudbrainStatusByJobID(jobID string, status CloudbrainStatus) (err error) {
cb := &Cloudbrain{JobID: jobID, Status: string(status)}
_, err = x.Cols("status").Where("cloudbrain.job_id=?", jobID).Update(cb)
@@ -1365,17 +1371,6 @@ func updateJobTrainVersion(e Engine, job *Cloudbrain) error {
return err
}

func UpdateDisplayJobName(job *Cloudbrain) error {
return updateDisplayJobName(x, job)
}

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

func DeleteJob(job *Cloudbrain) error {
return deleteJob(x, job)
}


+ 6
- 5
modules/auth/modelarts.go View File

@@ -16,11 +16,12 @@ func (f *CreateModelArtsForm) Validate(ctx *macaron.Context, errs binding.Errors
}

type CreateModelArtsNotebookForm struct {
JobName string `form:"job_name" binding:"Required"`
Attachment string `form:"attachment"`
Description string `form:"description"`
Flavor string `form:"flavor" binding:"Required"`
ImageId string `form:"image_id" binding:"Required"`
DisplayJobName string `form:"display_job_name" binding:"Required"`
JobName string `form:"job_name" binding:"Required"`
Attachment string `form:"attachment"`
Description string `form:"description"`
Flavor string `form:"flavor" binding:"Required"`
ImageId string `form:"image_id" binding:"Required"`
}

func (f *CreateModelArtsNotebookForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {


+ 2
- 4
modules/modelarts/modelarts.go View File

@@ -243,7 +243,7 @@ func GenerateTask(ctx *context.Context, jobName, uuid, description, flavor strin
return nil
}

func GenerateNotebook2(ctx *context.Context, jobName, uuid, description, flavor, imageId string) error {
func GenerateNotebook2(ctx *context.Context, displayJobName, jobName, uuid, description, flavor, imageId string) error {
if poolInfos == nil {
json.Unmarshal([]byte(setting.PoolInfos), &poolInfos)
}
@@ -279,6 +279,7 @@ func GenerateNotebook2(ctx *context.Context, jobName, uuid, description, flavor,
RepoID: ctx.Repo.Repository.ID,
JobID: jobResult.ID,
JobName: jobName,
DisplayJobName: displayJobName,
JobType: string(models.JobTypeDebug),
Type: models.TypeCloudBrainTwo,
Uuid: uuid,
@@ -331,7 +332,6 @@ func GenerateTrainJob(ctx *context.Context, req *GenerateTrainJobReq) (err error
RepoID: ctx.Repo.Repository.ID,
JobID: jobId,
JobName: req.JobName,
DisplayJobName: req.DisplayJobName,
JobType: string(models.JobTypeTrain),
Type: models.TypeCloudBrainTwo,
VersionID: jobResult.VersionID,
@@ -416,7 +416,6 @@ func GenerateTrainJobVersion(ctx *context.Context, req *GenerateTrainJobReq, job
RepoID: ctx.Repo.Repository.ID,
JobID: strconv.FormatInt(jobResult.JobID, 10),
JobName: req.JobName,
DisplayJobName: req.DisplayJobName,
JobType: string(models.JobTypeTrain),
Type: models.TypeCloudBrainTwo,
VersionID: jobResult.VersionID,
@@ -553,7 +552,6 @@ func GenerateInferenceJob(ctx *context.Context, req *GenerateInferenceJobReq) (e
RepoID: ctx.Repo.Repository.ID,
JobID: jobID,
JobName: req.JobName,
DisplayJobName: req.DisplayJobName,
JobType: string(models.JobTypeInference),
Type: models.TypeCloudBrainTwo,
VersionID: jobResult.VersionID,


+ 2
- 2
routers/repo/cloudbrain.go View File

@@ -76,8 +76,8 @@ func jobNamePrefixValid(s string) string {
func cloudBrainNewDataPrepare(ctx *context.Context) error {
ctx.Data["PageIsCloudBrain"] = true
t := time.Now()
var jobName = jobNamePrefixValid(cutString(ctx.User.Name, 5)) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:]
ctx.Data["job_name"] = jobName
var displayJobName = jobNamePrefixValid(cutString(ctx.User.Name, 5)) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:]
ctx.Data["display_job_name"] = displayJobName

result, err := cloudbrain.GetImages()
if err != nil {


+ 36
- 4
routers/repo/modelarts.go View File

@@ -112,8 +112,8 @@ func NotebookNew(ctx *context.Context) {
func notebookNewDataPrepare(ctx *context.Context) error {
ctx.Data["PageIsCloudBrain"] = true
t := time.Now()
var jobName = jobNamePrefixValid(cutString(ctx.User.Name, 5)) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:]
ctx.Data["job_name"] = jobName
var displayJobName = jobNamePrefixValid(cutString(ctx.User.Name, 5)) + t.Format("2006010215") + strconv.Itoa(int(t.Unix()))[5:]
ctx.Data["display_job_name"] = displayJobName

attachs, err := models.GetModelArtsUserAttachments(ctx.User.ID)
if err != nil {
@@ -181,12 +181,44 @@ func NotebookCreate(ctx *context.Context, form auth.CreateModelArtsNotebookForm)

func Notebook2Create(ctx *context.Context, form auth.CreateModelArtsNotebookForm) {
ctx.Data["PageIsNotebook"] = true
jobName := form.JobName
displayJobName := form.DisplayJobName
jobName := util.ConvertDisplayJobNameToJobName(displayJobName)
uuid := form.Attachment
description := form.Description
flavor := form.Flavor
imageId := form.ImageId

//判断项目内任务名称是否重复
// var jobTypes []string
// jobTypes = append(jobTypes, string(models.JobTypeTrain))
// tasks, _, err := models.Cloudbrains(&models.CloudbrainsOptions{
// ListOptions: models.ListOptions{
// PageSize: setting.UI.IssuePagingNum,
// },
// RepoID: repo.ID,
// Type: models.TypeCloudBrainTwo,
// JobTypeNot: false,
// JobTypes: jobTypes,
// IsLatestVersion: modelarts.IsLatestVersion,
// })
// if err == nil {
// for _, task := range tasks {
// if strings.EqualFold(task.JobName, displayJobName) {
// log.Error("the job name did already exist", ctx.Data["MsgID"])
// trainJobErrorNewDataPrepare(ctx, form)
// ctx.RenderWithErr("任务名称已经被使用!", tplModelArtsTrainJobNew, &form)
// return
// }
// }
// } else {
// if !models.IsErrJobNotExist(err) {
// log.Error("system error, %v", err, ctx.Data["MsgID"])
// trainJobErrorNewDataPrepare(ctx, form)
// ctx.RenderWithErr("system error", tplModelArtsTrainJobNew, &form)
// return
// }
// }

count, err := models.GetCloudbrainNotebookCountByUserID(ctx.User.ID)
if err != nil {
log.Error("GetCloudbrainNotebookCountByUserID failed:%v", err, ctx.Data["MsgID"])
@@ -216,7 +248,7 @@ func Notebook2Create(ctx *context.Context, form auth.CreateModelArtsNotebookForm
}
}

err = modelarts.GenerateNotebook2(ctx, jobName, uuid, description, flavor, imageId)
err = modelarts.GenerateNotebook2(ctx, displayJobName, jobName, uuid, description, flavor, imageId)
if err != nil {
log.Error("GenerateNotebook2 failed, %v", err, ctx.Data["MsgID"])
notebookNewDataPrepare(ctx)


+ 3
- 3
templates/repo/cloudbrain/new.tmpl View File

@@ -147,7 +147,7 @@
</div>
<div class="inline required field">
<label>任务名称</label>
<input name="job_name" id="cloudbrain_job_name" placeholder="任务名称" value="{{.job_name}}" tabindex="3" autofocus required maxlength="255" onkeyup="this.value=this.value.replace(/[, ]/g,'')">
<input name="display_job_name" id="cloudbrain_job_name" placeholder="任务名称" value="{{.display_job_name}}" tabindex="3" autofocus required maxlength="255" onkeyup="this.value=this.value.replace(/[, ]/g,'')">
</div>

<div class="inline required field">
@@ -279,7 +279,7 @@
$(".icon.icons").css("visibility","hidden")
}
form.onsubmit = function(e){
let value_task = $("input[name='job_name']").val()
let value_task = $("input[name='display_job_name']").val()
let value_image = $("input[name='image']").val()
let value_data = $("input[name='attachment']").val()
let re = /^[a-z0-9][a-z0-9-_]{1,34}[a-z0-9-]$/
@@ -291,7 +291,7 @@
return false
}
let min_value_task = value_task.toLowerCase()
$("input[name='job_name']").attr("value",min_value_task)
$("input[name='display_job_name']").attr("value",min_value_task)
document.getElementById("mask").style.display = "block"
}


+ 3
- 3
templates/repo/modelarts/notebook/new.tmpl View File

@@ -48,7 +48,7 @@
</div>
<div class="inline required field">
<label>任务名称</label>
<input name="job_name" id="cloudbrain_job_name" placeholder="任务名称" value="{{.job_name}}" tabindex="3" autofocus required maxlength="255" onkeyup="this.value=this.value.replace(/[, ]/g,'')">
<input name="display_job_name" id="cloudbrain_job_name" placeholder="任务名称" value="{{.display_job_name}}" tabindex="3" autofocus required maxlength="255" onkeyup="this.value=this.value.replace(/[, ]/g,'')">
</div>

<div class="inline required field">
@@ -117,7 +117,7 @@
$('#messageInfo').css('display','none')

form.onsubmit = function(e){
let value_task = $("input[name='job_name']").val()
let value_task = $("input[name='display_job_name']").val()
let re = /^[a-z0-9][a-z0-9-_]{1,36}$/
@@ -131,7 +131,7 @@
let min_value_task = value_task.toLowerCase()
$("input[name='job_name']").attr("value",min_value_task)
$("input[name='display_job_name']").attr("value",min_value_task)
document.getElementById("mask").style.display = "block"
}


Loading…
Cancel
Save