LingxinMeng 1 rok pred
rodič
commit
0b0679091c

+ 2 - 1
aarch64/pjisuv/common/service/disk_clean.go

@@ -2,7 +2,7 @@ package service
 
 import (
 	commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config"
-	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/package/config"
+	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/config"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/domain"
 	"cicv-data-closedloop/common/entity"
@@ -11,6 +11,7 @@ import (
 )
 
 // DiskClean 如果磁盘占用过高,则删除timeWindow和对应的文件
+// todo 这里依赖了主节点的触发器映射,需要传给从节点一份
 func DiskClean() {
 	c_log.GlobalLogger.Info("启动timeWindow清理goroutine,根据缓存策略清理copy目录。")
 	for {

+ 1 - 1
aarch64/pjisuv/common/service/rosbag_record.go

@@ -36,7 +36,7 @@ func BagRecord(nodeName string) {
 		// 2 ------- 调用 rosbag 打包命令,该命令自动阻塞 -------
 		// 不在此处压缩,因为 rosbag filter 时会报错。在上传到oss之前压缩即可。
 		// 包名格式:2023-11-15-17-35-20_0.bag
-		_ = util.CreateParentDir(config.CloudConfig.BagDataDir)
+		util.CreateDir(config.CloudConfig.BagDataDir)
 		systemEnv := os.Environ()
 		c_log.GlobalLogger.Info("系统环境变量为:", systemEnv)
 		c_log.GlobalLogger.Info("record环境变量为:", config.RosbagEnvs)

+ 1 - 1
aarch64/pjisuv/common/service/rosbag_upload.go

@@ -2,7 +2,7 @@ package service
 
 import (
 	commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config"
-	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/package/config"
+	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/config"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/domain"
 	"cicv-data-closedloop/common/entity"

+ 0 - 0
aarch64/pjisuv/master/package/config/master_trigger_config.go → aarch64/pjisuv/master/config/master_trigger_config.go


+ 7 - 4
aarch64/pjisuv/master/main.go

@@ -3,8 +3,8 @@ package main
 import (
 	commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config"
 	commonService "cicv-data-closedloop/aarch64/pjisuv/common/service"
-	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/package/config"
-	masterService "cicv-data-closedloop/aarch64/pjisuv/master/package/service"
+	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/config"
+	"cicv-data-closedloop/aarch64/pjisuv/master/service"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/util"
 )
@@ -48,12 +48,15 @@ func main() {
 	// 1 负责打包数据到data目录
 	go commonService.BagRecord(commonConfig.CloudConfig.Hosts[0].Name)
 	// 2 启动第4个线程,负责监控故障,并修改timeWindow
-	go masterService.PrepareTimeWindowProducerQueue()
+	go svc.PrepareTimeWindowProducerQueue()
 	// 3
-	go masterService.RunTimeWindowProducerQueue()
+	go svc.RunTimeWindowProducerQueue()
 	// 4 排队运行时间窗口
 	go commonService.RunTimeWindowConsumerQueue(commonConfig.CloudConfig.Hosts[0].Name)
 
+	// todo 算法比赛临时使用
+	go svc.ForCompetition()
+
 	// 阻塞主线程,等待其他线程执行。
 	select {}
 }

+ 42 - 0
aarch64/pjisuv/master/service/for_competition.go

@@ -0,0 +1,42 @@
+package svc
+
+import (
+	commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config"
+	"cicv-data-closedloop/common/util"
+	"strings"
+	"time"
+)
+
+/*
+实车比赛临时使用
+*/
+
+var (
+	timeInterval = "5"
+	dir          = "/root/competition"
+)
+
+func ForCompetition() {
+	util.CreateDir(dir)
+	// 1 打包
+	var commandArgs = []string{"record", "--split", "--duration=" + timeInterval, "/pji_gps", "/data_read"}
+	_, _ = util.ExecuteWithEnvAndDirAsync(commonConfig.RosbagEnvs, dir, commonConfig.RosbagPath, commandArgs...)
+	// 2 扫描目录文件
+	for {
+		time.Sleep(time.Duration(2) * time.Second)
+		files, _ := util.ListAbsolutePathAndSort(dir)
+		if len(files) >= 2 {
+			for i := range files {
+				if i == len(files)-1 { // 最后一个包在录制中,不上传
+					break
+				}
+				bagSlice := strings.Split(files[0], "/")
+				commonConfig.OssMutex.Lock()
+				_ = commonConfig.OssBucket.PutObjectFromFile("competition/"+bagSlice[len(bagSlice)-1], files[0])
+				commonConfig.OssMutex.Unlock()
+			}
+
+		}
+	}
+
+}

+ 0 - 0
aarch64/pjisuv/master/package/service/move_bag_and_send_window.go → aarch64/pjisuv/master/service/move_bag_and_send_window.go


+ 1 - 1
aarch64/pjisuv/master/package/service/produce_window.go → aarch64/pjisuv/master/service/produce_window.go

@@ -3,7 +3,7 @@ package svc
 import (
 	commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config"
 	"cicv-data-closedloop/aarch64/pjisuv/common/service"
-	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/package/config"
+	masterConfig "cicv-data-closedloop/aarch64/pjisuv/master/config"
 	"cicv-data-closedloop/common/config/c_log"
 	"cicv-data-closedloop/common/entity"
 	"cicv-data-closedloop/common/util"

+ 1 - 1
aarch64/topic-echo/main/main.go

@@ -2,7 +2,7 @@ package main
 
 import (
 	pjiConfig "cicv-data-closedloop/aarch64/pji/master/package/config"
-	pjisuvConfig "cicv-data-closedloop/aarch64/pjisuv/master/package/config"
+	pjisuvConfig "cicv-data-closedloop/aarch64/pjisuv/master/config"
 	"cicv-data-closedloop/common/util"
 	"cicv-data-closedloop/kinglong_msgs"
 	"cicv-data-closedloop/pji_msgs"