#4687 定时删除分中心的智算任务

Merged
ychao_1983 merged 4 commits from zouap_static into V20230912 8 months ago
  1. +5
    -1
      routers/api/v1/repo/attachments.go
  2. +20
    -0
      services/cloudbrain/clear.go

+ 5
- 1
routers/api/v1/repo/attachments.go View File

@@ -41,8 +41,12 @@ func checkDatasetPermission(ctx *context.APIContext) string {
log.Warn("can not find repo permission for user", err)
return "dataset.query_dataset_fail"
}
if !permission.CanWrite(models.UnitTypeDatasets) {

if permission.AccessMode >= models.AccessModeAdmin {
return ""
}

if !permission.CanWrite(models.UnitTypeDatasets) {
return "error.no_right"
}
return ""


+ 20
- 0
services/cloudbrain/clear.go View File

@@ -7,11 +7,13 @@ import (
"strconv"
"time"

"code.gitea.io/gitea/entity"
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/modelarts"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/storage"
"code.gitea.io/gitea/services/ai_task_service/cluster"
)

func ClearCloudbrainResultSpace() {
@@ -58,6 +60,9 @@ func ClearCloudbrainResultSpace() {
log.Info("clear job in cloudbrain table:" + task.JobName)
ids = append(ids, task.ID)
}
if task.Type == models.TypeC2Net {
deleteC2NetTask(task)
}
} else {
id := DeleteNPUJobStorage(task)
if id > 0 {
@@ -172,6 +177,20 @@ func DeleteCloudbrainOneJobStorage(jobName string) error {
return err
}

func deleteC2NetTask(taskInfo *models.Cloudbrain) {
c, err := cluster.GetCluster(entity.C2Net)
if err != nil {
log.Error("GetMyCluster err.%v", err)
} else {
if taskInfo.JobType == string(models.JobTypeTrain) {
c.DeleteTrainJob(entity.JobIdAndVersionId{JobID: taskInfo.JobID, VersionID: taskInfo.VersionID})
}
if taskInfo.JobType == string(models.JobTypeDebug) {
c.DeleteNoteBook(entity.JobIdAndVersionId{JobID: taskInfo.JobID, VersionID: taskInfo.VersionID})
}
}
}

func DeleteNPUJobStorage(taskInfo *models.Cloudbrain) int64 {
if taskInfo.Type == models.TypeCloudBrainTwo {
if taskInfo.JobType == string(models.JobTypeTrain) || taskInfo.JobType == string(models.JobTypeInference) {
@@ -194,6 +213,7 @@ func DeleteNPUJobStorage(taskInfo *models.Cloudbrain) int64 {
return taskInfo.ID
}
if taskInfo.Type == models.TypeC2Net {
deleteC2NetTask(taskInfo)
if taskInfo.ComputeResource == "NPU" {
deleteModelArtsStorage(taskInfo.JobName, taskInfo.VersionName)
return taskInfo.ID


Loading…
Cancel
Save