fix task duplicateName issue

This commit is contained in:
tzwang 2025-03-24 17:15:55 +08:00
parent de4a36179a
commit 99fc0fe72f
4 changed files with 19 additions and 9 deletions

View File

@ -53,7 +53,7 @@ func (l *CreateInferenceTaskLogic) CreateInferenceTask(req *types.CreateInferenc
return nil, err
}
taskName, err := l.svcCtx.Scheduler.AiService.HandleDuplicateTaskName(req.Name)
taskName, err := l.svcCtx.Scheduler.AiService.HandleDuplicateTaskName(req.Name, "inference")
if err != nil {
return nil, err
}

View File

@ -147,7 +147,7 @@ func (l *ScheduleCreateTaskLogic) ScheduleCreateTask(req *types.CreateTaskReq) (
return nil, err
}
taskName, err := l.svcCtx.Scheduler.AiService.HandleDuplicateTaskName(req.Name)
taskName, err := l.svcCtx.Scheduler.AiService.HandleDuplicateTaskName(req.Name, "training")
if err != nil {
return nil, err
}

View File

@ -103,13 +103,23 @@ func (s *AiStorage) GetAiTaskListById(id int64) ([]*models.TaskAi, error) {
return aiTaskList, nil
}
func (s *AiStorage) DoesTaskNameExist(name string) (bool, error) {
func (s *AiStorage) DoesTaskNameExist(name string, taskType string) (bool, error) {
var total int32
tx := s.DbEngin.Raw("select count(*) from task where `name` = ?", name).Scan(&total)
if tx.Error != nil {
logx.Errorf(tx.Error.Error())
return false, tx.Error
switch taskType {
case "training":
tx := s.DbEngin.Raw("select count(*) from task where `name` = ?", name).Scan(&total)
if tx.Error != nil {
logx.Errorf(tx.Error.Error())
return false, tx.Error
}
case "inference":
tx := s.DbEngin.Raw("select count(*) from ai_deploy_instance_task where `name` = ?", name).Scan(&total)
if tx.Error != nil {
logx.Errorf(tx.Error.Error())
return false, tx.Error
}
}
return total > 0, nil
}

View File

@ -143,8 +143,8 @@ func (as *AiService) UpdateClusterMaps(conf *config.Config, adapterId string, cl
}
}
func (as *AiService) HandleDuplicateTaskName(name string) (string, error) {
exist, err := as.Storage.DoesTaskNameExist(name)
func (as *AiService) HandleDuplicateTaskName(name string, taskType string) (string, error) {
exist, err := as.Storage.DoesTaskNameExist(name, taskType)
if err != nil {
return "", err
}