فهرست منبع

refactor: modify data collection frequency limit

HeWang 7 ماه پیش
والد
کامیت
dad73bf6f2

+ 2 - 0
aarch64/pjibot_guide/common/service/rosbag_upload.go

@@ -3,6 +3,7 @@ package service
 import (
 	commonConfig "cicv-data-closedloop/aarch64/pjibot_guide/common/config"
 	masterConfig "cicv-data-closedloop/aarch64/pjibot_guide/master/package/config"
+	masterService "cicv-data-closedloop/aarch64/pjibot_guide/master/package/service"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/domain"
 	"cicv-data-closedloop/common/entity"
@@ -225,6 +226,7 @@ outLoop:
 		if len(entity.TimeWindowConsumerQueue) == 0 {
 			c_log.GlobalLogger.Infof("已处理所有窗口,重启 record 命令。")
 			ChannelKillRosRecord <- 2
+			masterService.ProcessingFlag = false
 		}
 	}
 }

+ 1 - 0
aarch64/pjibot_guide/master/package/service/move_bag_and_send_window.go

@@ -60,6 +60,7 @@ func RunTimeWindowProducerQueue() {
 				time.Sleep(time.Duration(2) * time.Second)
 				c_log.GlobalLogger.Info("采集数据,发送record命令进程关闭信号。")
 				commonService.ChannelKillRosRecord <- 3
+				ProcessingFlag = true
 				domain.SupplyCopyBags(commonConfig.CloudConfig.BagDataDir, commonConfig.CloudConfig.BagCopyDir, currentTimeWindow)
 				// 将时间窗口移出准备队列
 				entity.RemoveHeadOfTimeWindowProducerQueue()

+ 3 - 2
aarch64/pjibot_guide/master/package/service/produce_window.go

@@ -19,6 +19,7 @@ var (
 	triggerInterval = 3.0 // 每个触发器3秒触发一次
 	logInterval     = 3.0
 	logTime         = time.Now()
+	ProcessingFlag  = false // 是否有数据正在被处理
 )
 
 // 负责监听所有主题并修改时间窗口
@@ -177,11 +178,11 @@ func canCollect() bool {
 	}
 
 	// 本地判断是否存在正在处理的数据
-	if len(entity.TimeWindowConsumerQueue) != 0 {
+	if ProcessingFlag {
 		c_log.GlobalLogger.Info("存在正在处理的数据,此次不再采集。")
 		return false
 	}
 
-	//c_log.GlobalLogger.Info("允许采集。")
+	c_log.GlobalLogger.Info("允许采集。")
 	return true
 }