Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

LingxinMeng 5 сар өмнө
parent
commit
7da074d029

+ 10 - 11
aarch64/pjibot_delivery/control/main.go

@@ -109,8 +109,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
@@ -132,7 +133,7 @@ func initRenew() {
 func renew() {
 	for {
 		time.Sleep(time.Duration(renewTurnLength) * time.Second)
-		if localStatus == "running" && launchedFlag && !renewedFlag { // 设备处于运行状态,数采程序已启动,且尚未续约
+		if localStatus == "running" && launchedFlag && !renewedFlag && timeAllowedFlag && !limitReachedFlag { // 设备处于运行状态,数采程序已启动,且尚未续约
 			c_log.GlobalLogger.Info("设备仍处于运行状态,续约 - 开始。")
 			if renewTimer != nil {
 				renewTimer.Stop()
@@ -203,7 +204,7 @@ func main() {
 	go pkg.GetCloudStatus(&cloudStatus, &lastCloudStatus, cloudTurnLength)
 
 	// 定期检查本地任务状态,执行续约,避免短时间内多次启停
-	go renew()
+	//go renew() // 室外机器人关闭续约
 
 	// 检查是否达到限额
 	go checkCollectLimit()
@@ -220,6 +221,7 @@ func main() {
 
 		fmt.Println("localStatus: ", localStatus, "lastLocalStatus: ", lastLocalStatus)
 		fmt.Println("cloudStatus: ", cloudStatus, "lastCloudStatus: ", lastCloudStatus)
+		fmt.Println("limitReachedFlag: ", limitReachedFlag, "timeAllowedFlag: ", timeAllowedFlag)
 
 		// 采集时间限制
 		currentTime := time.Now()
@@ -238,12 +240,11 @@ func main() {
 		// error 错误状态,此状态下不启动数采任务
 
 		// 启停master
-		if localStatus == "running" && timeAllowedFlag && !limitReachedFlag {
-			if !launchedFlag { // 目前未启动数采程序
-				c_log.GlobalLogger.Info("数采程序启动 - 开始。")
-				startMasterNode()
-			}
-		} else if localStatus == "idle" || !timeAllowedFlag || !limitReachedFlag {
+		if localStatus == "running" && timeAllowedFlag && !limitReachedFlag && !launchedFlag {
+			// 目前未启动数采程序
+			c_log.GlobalLogger.Info("数采程序启动 - 开始。")
+			startMasterNode()
+		} else if localStatus == "idle" || !timeAllowedFlag || limitReachedFlag {
 			if !renewedFlag && launchedFlag && len(entity.TimeWindowConsumerQueue) == 0 {
 				time.Sleep(time.Duration(waitStopLength) * time.Minute)
 				c_log.GlobalLogger.Info("数采程序关闭 - 开始。")
@@ -252,8 +253,6 @@ func main() {
 		} else if localStatus == "error" {
 			c_log.GlobalLogger.Error("设备运行状态出错,停止数采程序。")
 			stopMasterNode()
-		} else {
-			c_log.GlobalLogger.Error("未知的设备运行状态。【status】=", localStatus)
 		}
 	}
 }

+ 1 - 1
aarch64/pjibot_delivery/配送机器人默认配置文件-local-config.yaml

@@ -6,7 +6,7 @@ rosparam-path: /opt/ros/noetic/bin/rosparam
 #url-get-oss-config: http://36.110.106.156:18379/oss/config?token=nXonLUcMtGcrQqqKiyygIwyVbvizE0wD # 国汽数据闭环
 url-get-oss-config: http://36.110.106.156:18379/oss/pji?token=nXonLUcMtGcrQqqKiyygIwyVbvizE0wD # 朴津数据闭环
 # 朴津机器人数据前缀
-oss-base-prefix: pjibot-delivery/
+oss-base-prefix: pjibot_delivery/
 # oss上的配置文件的名称
 cloud-config-filename: cloud-config.yaml
 # 将oss上的配置文件下载到本地的路径

+ 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)
 		}
 	}
 }