package svc import ( commonConfig "cicv-data-closedloop/aarch64/pjisuv/common/config" "cicv-data-closedloop/common/config/c_log" "cicv-data-closedloop/common/util" "strings" "time" ) /* 实车比赛临时使用 */ var ( timeInterval = "5" dir = "/home/root/competition/" ) func ForCompetition() { c_log.GlobalLogger.Info("开始采集实车算法比赛全量数据。") util.CreateDir(dir) // 1 打包 var commandArgs = []string{"record", "--split", "--duration=" + timeInterval, "/pji_gps", "/data_read"} _, err := util.ExecuteWithEnvAndDirAsync(commonConfig.RosbagEnvs, dir, commonConfig.RosbagPath, commandArgs...) if err != nil { c_log.GlobalLogger.Error("执行record命令报错,", commandArgs) } // 2 扫描目录文件 for { time.Sleep(time.Duration(2) * time.Second) files, _ := util.ListAbsolutePathAndSort(dir) if len(files) >= 2 { c_log.GlobalLogger.Info("扫描试车比赛数据采集目录,", files) for i := range files { if i == len(files)-1 { // 最后一个包在录制中,不上传 break } c_log.GlobalLogger.Info("上传实车算法比赛全量数据包", files[i]) bagSlice := strings.Split(files[0], "/") commonConfig.OssMutex.Lock() _ = commonConfig.OssBucket.PutObjectFromFile("competition/"+bagSlice[len(bagSlice)-1], files[0]) commonConfig.OssMutex.Unlock() } } } }