|
@@ -8,6 +8,7 @@ import (
|
|
|
"cicv-data-closedloop/common/entity"
|
|
|
"cicv-data-closedloop/common/util"
|
|
|
"fmt"
|
|
|
+ "io/fs"
|
|
|
"os"
|
|
|
"path/filepath"
|
|
|
"strings"
|
|
@@ -157,13 +158,35 @@ outLoop:
|
|
|
}
|
|
|
|
|
|
// 额外采集data目录
|
|
|
- err = util.ZipDir(commonConfig.CloudConfig.DataDir.Src, commonConfig.CloudConfig.DataDir.Dest, commonConfig.CloudConfig.DataDir.Exclude)
|
|
|
+ //err = util.ZipDir(commonConfig.CloudConfig.DataDir.Src, commonConfig.CloudConfig.DataDir.Dest, commonConfig.CloudConfig.DataDir.Exclude)
|
|
|
+ //if err != nil {
|
|
|
+ // c_log.GlobalLogger.Error("压缩data目录失败:", err)
|
|
|
+ //}
|
|
|
+ var filePaths []string // 初始化一个切片来保存文件路径
|
|
|
+ err = filepath.WalkDir(commonConfig.CloudConfig.DataDir.Src, func(path string, d fs.DirEntry, err error) error { // 使用filepath.WalkDir遍历目录
|
|
|
+ if err != nil {
|
|
|
+ return err // 如果有错误,返回错误
|
|
|
+ }
|
|
|
+
|
|
|
+ // 检查是否为文件(跳过目录)
|
|
|
+ if !d.IsDir() {
|
|
|
+ filePaths = append(filePaths, path) // 将文件路径添加到切片中
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+ })
|
|
|
if err != nil {
|
|
|
- c_log.GlobalLogger.Error("压缩data目录失败:", err)
|
|
|
+ c_log.GlobalLogger.Error("扫描 data 目录失败:", err)
|
|
|
+ goto outLoop
|
|
|
}
|
|
|
- err = commonConfig.OssBucket.PutObjectFromFile(objectKey3+"data.zip", commonConfig.CloudConfig.DataDir.Dest)
|
|
|
- if err != nil {
|
|
|
- c_log.GlobalLogger.Error("上传 data 目录压缩文件失败:", err)
|
|
|
+
|
|
|
+ // 不压缩上传所有文件
|
|
|
+ for _, path := range filePaths {
|
|
|
+ relativePath := strings.Replace(path, commonConfig.CloudConfig.DataDir.Src, "", 1)
|
|
|
+ err = commonConfig.OssBucket.PutObjectFromFile(objectKey3+"data/"+relativePath, commonConfig.CloudConfig.DataDir.Dest)
|
|
|
+ if err != nil {
|
|
|
+ c_log.GlobalLogger.Error("上传 data 目录压缩文件失败:", err)
|
|
|
+ goto outLoop
|
|
|
+ }
|
|
|
}
|
|
|
commonConfig.OssMutex.Unlock()
|
|
|
|
|
@@ -171,7 +194,7 @@ outLoop:
|
|
|
c_log.GlobalLogger.Infof("结束处理窗口,【Lable】=%v,【FaultTime】=%v,【Length】=%v", currentTimeWindow.Labels, currentTimeWindow.FaultTime, currentTimeWindow.Length)
|
|
|
c_log.GlobalLogger.Infof("待处理窗口个数为:%v", len(entity.TimeWindowConsumerQueue))
|
|
|
if err = util.RemoveDir(dir); err != nil {
|
|
|
- continue outLoop
|
|
|
+ goto outLoop
|
|
|
}
|
|
|
if len(entity.TimeWindowConsumerQueue) == 0 {
|
|
|
c_log.GlobalLogger.Infof("已处理所有窗口,重启 record 命令。")
|