LingxinMeng 7 bulan lalu
induk
melakukan
e482ae83b7
1 mengubah file dengan 7 tambahan dan 8 penghapusan
  1. 7 8
      src/package/service/run_task.go

+ 7 - 8
src/package/service/run_task.go

@@ -100,7 +100,7 @@ func RunWaitingCluster() {
 				infra.GlobalLogger.Infof("集群存在 %v 个等待运行的任务。", waitingClusterNumber)
 			}
 
-			// 取出但不移除
+			// 取出并移出,20241017 防止报错后陷入死循环
 			{
 				firstTaskCacheJson, err := infra.GlobalRedisClient.LIndex(global.KeyTaskQueueWaitingCluster, 0).Result()
 				if err != nil {
@@ -114,6 +114,11 @@ func RunWaitingCluster() {
 					global.GpuNodeListMutex.Unlock()
 					continue
 				}
+				// --------------- 从等待队列中移除
+				if _, err = infra.GlobalRedisClient.LPop(global.KeyTaskQueueWaitingCluster).Result(); err != nil {
+					infra.GlobalLogger.Error(err)
+					continue
+				}
 			}
 			// --------------- 下载算法 --------------- todo 算法这里需要控制已经下载过的算法就不要再次下载了
 			{
@@ -283,7 +288,7 @@ func RunWaitingCluster() {
 		xoscLocalPath := tempDir + util.NewShortUUID() + ".xosc"
 		err = infra.GlobalOssBucket.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
 		if err != nil {
-			infra.GlobalLogger.Errorf("下载xosc文件 %v 失败,错误信息为:%v", xoscOssPath, err)
+			infra.GlobalLogger.Errorf("下载xosc文件【%v】失败,错误信息为:%v", xoscOssPath, err)
 			continue
 		}
 		{
@@ -318,12 +323,6 @@ func RunWaitingCluster() {
 				global.GpuNodeListMutex.Unlock()
 				continue
 			}
-			// --------------- 从等待队列中移除
-			_, err = infra.GlobalRedisClient.LPop(global.KeyTaskQueueWaitingCluster).Result()
-			if err != nil {
-				infra.GlobalLogger.Error("取出集群等待队列中的头元素报错,错误信息为:", err)
-				continue
-			}
 			// --------------- 删除镜像文件
 			_ = util.RemoveFile(algorithmTarPath)
 		}