Browse Source

修复冲突。

Signed-off-by: zouap <zouap@pcl.ac.cn>
pull/2755/head
zouap 2 years ago
parent
commit
883f8cb653
7 changed files with 52 additions and 6 deletions
  1. +6
    -0
      models/cloudbrain.go
  2. +0
    -1
      models/repo.go
  3. +41
    -2
      routers/repo/cloudbrain.go
  4. +1
    -1
      routers/repo/grampus.go
  5. +2
    -1
      routers/repo/setting.go
  6. +1
    -0
      templates/repo/modelarts/trainjob/version_new.tmpl
  7. +1
    -1
      web_src/js/features/cloudbrainShow.js

+ 6
- 0
models/cloudbrain.go View File

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


func GetCloudbrainsNeededDeleteByRepoID(repoID int64) ([]*Cloudbrain, error) {
cloudBrains := make([]*Cloudbrain, 0)
err := x.Where("repo_id=?", repoID).Find(&cloudBrains)
return cloudBrains, err
}

func GetCloudbrainsByDisplayJobName(repoID int64, jobType string, displayJobName string) ([]*Cloudbrain, error) { func GetCloudbrainsByDisplayJobName(repoID int64, jobType string, displayJobName string) ([]*Cloudbrain, error) {
cloudBrains := make([]*Cloudbrain, 0) cloudBrains := make([]*Cloudbrain, 0)
err := x.Cols("job_id", "job_name", "repo_id", "user_id", "job_type", "display_job_name").Where("repo_id=? AND job_type =? AND lower(display_job_name) = lower(?)", repoID, jobType, displayJobName).Find(&cloudBrains) err := x.Cols("job_id", "job_name", "repo_id", "user_id", "job_type", "display_job_name").Where("repo_id=? AND job_type =? AND lower(display_job_name) = lower(?)", repoID, jobType, displayJobName).Find(&cloudBrains)


+ 0
- 1
models/repo.go View File

@@ -1788,7 +1788,6 @@ func DeleteRepository(doer *User, uid, repoID int64) error {


// Delete dataset attachment record and remove related files // Delete dataset attachment record and remove related files
deleteDatasetAttachmentByRepoId(sess, repoID) deleteDatasetAttachmentByRepoId(sess, repoID)

if err = deleteBeans(sess, if err = deleteBeans(sess,
&Access{RepoID: repo.ID}, &Access{RepoID: repo.ID},
&Action{RepoID: repo.ID}, &Action{RepoID: repo.ID},


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

@@ -1245,6 +1245,15 @@ func StopJobsByRepoID(repoID int64) {
StopJobs(cloudBrains) StopJobs(cloudBrains)
} }


func DeleteJobsByRepoID(repoID int64) {
cloudBrains, err := models.GetCloudbrainsNeededDeleteByRepoID(repoID)
if err != nil {
log.Warn("Failed to get cloudBrain info", err)
return
}
DeleteJobs(cloudBrains)
}

/** /**


*/ */
@@ -1280,6 +1289,36 @@ func StopJobs(cloudBrains []*models.Cloudbrain) {
} }
} }


func DeleteJobs(cloudBrains []*models.Cloudbrain) {
for _, taskInfo := range cloudBrains {
err := models.DeleteJob(taskInfo)
if err != nil {
log.Warn("Failed to DeleteJob:", err)
return
}
if taskInfo.Type == models.TypeCloudBrainOne {
cloudbrain.DelCloudBrainJob(taskInfo.JobName)
DeleteCloudbrainJobStorage(taskInfo.JobName, models.TypeCloudBrainOne)
}
if taskInfo.Type == models.TypeCloudBrainTwo {
if taskInfo.JobType == string(models.JobTypeTrain) || taskInfo.JobType == string(models.JobTypeInference) {

modelarts.DelTrainJob(taskInfo.JobID)
DeleteJobStorage(taskInfo.JobName)
}
if taskInfo.JobType == string(models.JobTypeDebug) {
modelarts.DelNotebook2(taskInfo.JobID)
}
}
if taskInfo.Type == models.TypeC2Net {
if taskInfo.JobType == string(models.JobTypeTrain) {
cloudbrain.DelCloudBrainJob(taskInfo.JobName)
DeleteCloudbrainJobStorage(taskInfo.JobName, models.TypeCloudBrainOne)
}
}
}
}

func retry(attempts int, sleep time.Duration, f func() error) (err error) { func retry(attempts int, sleep time.Duration, f func() error) (err error) {
for i := 0; i < attempts; i++ { for i := 0; i < attempts; i++ {
if i > 0 { if i > 0 {
@@ -1347,7 +1386,7 @@ func deleteCloudbrainJob(ctx *context.Context) error {
return err return err
} }


deleteJobStorage(task.JobName, models.TypeCloudBrainOne)
DeleteCloudbrainJobStorage(task.JobName, models.TypeCloudBrainOne)


return nil return nil
} }
@@ -1734,7 +1773,7 @@ func mkPathAndReadMeFile(path string, text string) error {
return nil return nil
} }


func deleteJobStorage(jobName string, cloudbrainType int) error {
func DeleteCloudbrainJobStorage(jobName string, cloudbrainType int) error {
//delete local //delete local
localJobPath := setting.JobPath + jobName localJobPath := setting.JobPath + jobName
err := os.RemoveAll(localJobPath) err := os.RemoveAll(localJobPath)


+ 1
- 1
routers/repo/grampus.go View File

@@ -637,7 +637,7 @@ func deleteGrampusJob(ctx *context.Context) error {
if task.ComputeResource == models.NPUResource { if task.ComputeResource == models.NPUResource {
storageType = models.TypeCloudBrainTwo storageType = models.TypeCloudBrainTwo
} }
deleteJobStorage(task.JobName, storageType)
DeleteCloudbrainJobStorage(task.JobName, storageType)


return nil return nil
} }


+ 2
- 1
routers/repo/setting.go View File

@@ -504,7 +504,8 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
return return
} }
log.Trace("Repository deleted: %s/%s", ctx.Repo.Owner.Name, repo.Name) log.Trace("Repository deleted: %s/%s", ctx.Repo.Owner.Name, repo.Name)
go StopJobsByRepoID(repo.ID)
// go StopJobsByRepoID(repo.ID)
go DeleteJobsByRepoID(repo.ID)


ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success")) ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success"))
ctx.Redirect(ctx.Repo.Owner.DashboardLink()) ctx.Redirect(ctx.Repo.Owner.DashboardLink())


+ 1
- 0
templates/repo/modelarts/trainjob/version_new.tmpl View File

@@ -160,6 +160,7 @@
<div id="select-multi-dataset"> <div id="select-multi-dataset">


</div> </div>
<span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 1rem;"></span>
<div class="inline unite min_title field"> <div class="inline unite min_title field">
<label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.run_parameter"}}</label> <label style="font-weight: normal;">{{.i18n.Tr "repo.modelarts.train_job.run_parameter"}}</label>
<span id="add_run_para" style="margin-left: 0.5rem;cursor:pointer;color: rgba(3, 102, 214, 100);font-size: 14px;line-height: 26px;font-family: SourceHanSansSC-medium;"><i class="plus square outline icon"></i>{{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}}</span> <span id="add_run_para" style="margin-left: 0.5rem;cursor:pointer;color: rgba(3, 102, 214, 100);font-size: 14px;line-height: 26px;font-family: SourceHanSansSC-medium;"><i class="plus square outline icon"></i>{{.i18n.Tr "repo.modelarts.train_job.add_run_parameter"}}</span>


+ 1
- 1
web_src/js/features/cloudbrainShow.js View File

@@ -419,7 +419,7 @@ export default async function initCloudrainSow() {
html += "</a>"; html += "</a>";
html += "</span>"; html += "</span>";
html += "</td>"; html += "</td>";
html += "<td class='message seven wide'>";
html += "<td class='message1 seven wide'>";
if (data.Dirs[i].IsDir) { if (data.Dirs[i].IsDir) {
html += "<span class='truncate has-emoji'></span>"; html += "<span class='truncate has-emoji'></span>";
} else { } else {


Loading…
Cancel
Save