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
}

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) {
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)


+ 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
deleteDatasetAttachmentByRepoId(sess, repoID)

if err = deleteBeans(sess,
&Access{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)
}

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) {
for i := 0; i < attempts; i++ {
if i > 0 {
@@ -1347,7 +1386,7 @@ func deleteCloudbrainJob(ctx *context.Context) error {
return err
}

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

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

func deleteJobStorage(jobName string, cloudbrainType int) error {
func DeleteCloudbrainJobStorage(jobName string, cloudbrainType int) error {
//delete local
localJobPath := setting.JobPath + jobName
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 {
storageType = models.TypeCloudBrainTwo
}
deleteJobStorage(task.JobName, storageType)
DeleteCloudbrainJobStorage(task.JobName, storageType)

return nil
}


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

@@ -504,7 +504,8 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
return
}
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.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>
<span class="tooltips" style="margin-left: 11.5rem;margin-bottom: 1rem;"></span>
<div class="inline unite min_title field">
<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>


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

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


Loading…
Cancel
Save