Procházet zdrojové kódy

fix: 修正master关闭逻辑

HeWang před 5 měsíci
rodič
revize
2daab63de1

+ 1 - 0
aarch64/pjibot_delivery/control/main.go

@@ -111,6 +111,7 @@ func checkCollectLimit() {
 			if resp.Code != 200 { // 不是200 代表采集数量已超过限额不允许采集
 				c_log.GlobalLogger.Info("采集数量已超过限额,", resp.Code)
 				limitReachedFlag = true
+				continue
 			}
 		}
 		limitReachedFlag = false

+ 8 - 9
aarch64/pjibot_guide/control/main.go

@@ -81,8 +81,9 @@ func checkCollectLimit() {
 				continue
 			}
 			if resp.Code != 200 { // 不是200 代表采集数量已超过限额不允许采集
-				//c_log.GlobalLogger.Info("采集数量已超过限额,当前周期内不再采集。", resp.Code)
+				c_log.GlobalLogger.Info("采集数量已超过限额,", resp.Code)
 				limitReachedFlag = true
+				continue
 			}
 		}
 		limitReachedFlag = false
@@ -104,7 +105,7 @@ func initRenew() {
 func renew() {
 	for {
 		time.Sleep(time.Duration(renewTurnLength) * time.Second)
-		if localStatus == "running" && launchedFlag && !renewedFlag { // 设备处于运行状态,数采程序已启动,且尚未续约
+		if localStatus == "running" && launchedFlag && !renewedFlag && !limitReachedFlag { // 设备处于运行状态,数采程序已启动,且尚未续约
 			c_log.GlobalLogger.Info("设备仍处于运行状态,续约 - 开始。")
 			if renewTimer != nil {
 				renewTimer.Stop()
@@ -193,6 +194,7 @@ func main() {
 
 		fmt.Println("localStatus: ", localStatus, "lastLocalStatus: ", lastLocalStatus)
 		fmt.Println("cloudStatus: ", cloudStatus, "lastCloudStatus: ", lastCloudStatus)
+		fmt.Println("limitReachedFlag: ", limitReachedFlag)
 
 		// 综合判断 cloudStatus 和 localStatus
 		// cloudStatus
@@ -205,11 +207,10 @@ func main() {
 		// error 错误状态,此状态下不启动数采任务
 
 		// 本地任务状态负责启停master
-		if localStatus == "running" && !limitReachedFlag {
-			if !launchedFlag { // 目前未启动数采程序
-				c_log.GlobalLogger.Info("数采程序启动 - 开始。")
-				startMasterNode()
-			}
+		if localStatus == "running" && !launchedFlag && !limitReachedFlag {
+			// 目前未启动数采程序
+			c_log.GlobalLogger.Info("数采程序启动 - 开始。")
+			startMasterNode()
 		} else if localStatus == "idle" || limitReachedFlag {
 			if !renewedFlag && launchedFlag && len(entity.TimeWindowConsumerQueue) == 0 {
 				time.Sleep(time.Duration(waitStopLength) * time.Minute)
@@ -219,8 +220,6 @@ func main() {
 		} else if localStatus == "error" {
 			c_log.GlobalLogger.Error("设备运行状态出错,停止数采程序。")
 			stopMasterNode()
-		} else {
-			c_log.GlobalLogger.Error("未知的设备运行状态。【status】=", localStatus)
 		}
 	}
 }