Roc 6 napja
szülő
commit
875929775c
1 módosított fájl, 21 hozzáadás és 23 törlés
  1. 21 23
      logic/ai_predict_model/index.go

+ 21 - 23
logic/ai_predict_model/index.go

@@ -115,6 +115,9 @@ func HandleTaskRecordFailByTaskRecord(taskType string, indexTaskRecordInfo *mode
 	return
 }
 
+// 有处理的任务id集合
+var hasHandleTaskIdMap = make(map[int]bool)
+
 // HandleTaskRecordProcessingByTaskRecord
 // @Description: 任务标记处理中
 // @author: Roc
@@ -142,34 +145,29 @@ func HandleTaskRecordProcessingByTaskRecord(taskType string, indexTaskRecordInfo
 
 	// 处理完成后标记任务状态
 	defer func() {
-		obj := models.IndexTaskRecord{}
-		// 修改任务状态
-		todoCount, tmpErr := obj.GetCountByCondition(fmt.Sprintf(` AND %s = ? AND %s = ? `, models.IndexTaskRecordColumns.IndexTaskID, models.IndexTaskRecordColumns.Status), []interface{}{indexTaskRecordInfo.IndexTaskID, `待处理`})
+		// 如果没有标记处理中的任务ID,那么需要修改任务状态
+		if _, ok := hasHandleTaskIdMap[indexTaskRecordInfo.IndexTaskID]; ok {
+			return
+		}
+
+		indexTaskObj := models.IndexTask{}
+		indexTaskInfo, tmpErr := indexTaskObj.GetByID(indexTaskRecordInfo.IndexTaskID)
 		if tmpErr != nil {
-			err = fmt.Errorf("查找剩余任务数量失败, err: %s", tmpErr.Error())
+			err = fmt.Errorf("查找任务失败, err: %s", tmpErr.Error())
 			return
 		}
-		if todoCount <= 0 {
-			indexTaskObj := models.IndexTask{}
-			indexTaskInfo, tmpErr := indexTaskObj.GetByID(indexTaskRecordInfo.IndexTaskID)
-			if tmpErr != nil {
-				err = fmt.Errorf("查找任务失败, err: %s", tmpErr.Error())
-				return
-			}
-			tmpUpdateCols := []string{`end_time`, "status", "update_time"}
-			indexTaskInfo.EndTime = time.Now()
-			indexTaskInfo.Status = `处理中`
-			indexTaskInfo.UpdateTime = time.Now()
 
-			if indexTaskInfo.StartTime.IsZero() {
-				indexTaskInfo.StartTime = time.Now()
-				tmpUpdateCols = append(tmpUpdateCols, "start_time")
-			}
+		tmpUpdateCols := []string{`end_time`, "status", "update_time"}
+		indexTaskInfo.Status = `处理中`
+		indexTaskInfo.UpdateTime = time.Now()
+		if indexTaskInfo.StartTime.IsZero() {
+			indexTaskInfo.StartTime = time.Now()
+			tmpUpdateCols = append(tmpUpdateCols, "start_time")
+		}
 
-			tmpErr = indexTaskInfo.Update(tmpUpdateCols)
-			if tmpErr != nil {
-				utils.FileLog.Error("标记任务状态失败, err: %s", tmpErr.Error())
-			}
+		tmpErr = indexTaskInfo.Update(tmpUpdateCols)
+		if tmpErr != nil {
+			utils.FileLog.Error("标记任务状态失败, err: %s", tmpErr.Error())
 		}
 
 		return