孟令鑫 hai 1 ano
pai
achega
328568be9f

+ 4 - 0
aarch64/pjisuv/common/config/c_cloud.go

@@ -66,11 +66,13 @@ func InitCloudConfig() {
 	// 3 ------- 获取 yaml 字符串 -------
 	var content []byte
 	cloudConfigObjectKey := LocalConfig.OssBasePrefix + LocalConfig.EquipmentNo + "/" + LocalConfig.CloudConfigFilename
+	OssMutex.Lock()
 	err := OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
 	if err != nil {
 		c_log.GlobalLogger.Error("下载oss上的配置文件"+cloudConfigObjectKey+"失败。", err)
 		os.Exit(-1)
 	}
+	OssMutex.Unlock()
 
 	content, err = os.ReadFile(LocalConfig.CloudConfigLocalPath)
 	if err != nil {
@@ -109,7 +111,9 @@ func refreshCloudConfig() {
 	// 3 ------- 获取 yaml 字符串 -------
 	var content []byte
 	cloudConfigObjectKey := LocalConfig.OssBasePrefix + LocalConfig.EquipmentNo + "/" + LocalConfig.CloudConfigFilename
+	OssMutex.Lock()
 	err := OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
+	OssMutex.Unlock()
 	if err != nil {
 		c_log.GlobalLogger.Error("下载oss上的配置文件"+cloudConfigObjectKey+"失败。", err)
 		return

+ 7 - 3
aarch64/pjisuv/common/config/c_oss.go

@@ -6,6 +6,7 @@ import (
 	"encoding/json"
 	"github.com/aliyun/aliyun-oss-go-sdk/oss"
 	"os"
+	"sync"
 )
 
 type OssConnectInfoStruct struct {
@@ -15,8 +16,11 @@ type OssConnectInfoStruct struct {
 	BucketName      string `json:"bucketName"`
 }
 
-var OssClient *oss.Client
-var OssBucket *oss.Bucket
+var (
+	OssClient *oss.Client
+	OssBucket *oss.Bucket
+	OssMutex  sync.Mutex
+)
 
 func InitOssConfig() {
 	c_log.GlobalLogger.Info("初始化OSS客户端对象 - 开始。")
@@ -39,7 +43,7 @@ func InitOssConfig() {
 		os.Exit(-1)
 	}
 	// 超时时间设置
-	OssClient.Config.Timeout = 3600
+	//OssClient.Config.Timeout = 3600
 	OssBucket, err = OssClient.Bucket(ossConnectInfo.BucketName)
 	if err != nil {
 		c_log.GlobalLogger.Error("无法创建阿里云bucket:", err)

+ 4 - 0
aarch64/pjisuv/common/service/rosbag_upload.go

@@ -106,7 +106,9 @@ outLoop:
 		for i, bag := range bags {
 			bagSlice := strings.Split(bag, "/")
 			c_log.GlobalLogger.Info("正在上传中,【FaultTime】=", currentTimeWindow.FaultTime, "【Label】=", currentTimeWindow.Labels, ",进度", i+1, "/", bagNumber, "。【", bag, "】-------【", objectKey1+bagSlice[len(bagSlice)-1], "】")
+			commonConfig.OssMutex.Lock()
 			err := commonConfig.OssBucket.PutObjectFromFile(objectKey1+bagSlice[len(bagSlice)-1], bag)
+			commonConfig.OssMutex.Unlock()
 			if err != nil {
 				c_log.GlobalLogger.Info("上传包 ", bag, " 时报错:", err)
 				continue
@@ -137,7 +139,9 @@ outLoop:
 			}, "", "    ")
 			callBackJson := string(callBackJsonBytes)
 			c_log.GlobalLogger.Info("【callBackJson】=", callBackJson)
+			commonConfig.OssMutex.Lock()
 			err := commonConfig.OssBucket.PutObject(objectKey3+"callback.json", strings.NewReader(callBackJson))
+			commonConfig.OssMutex.Unlock()
 			if err != nil {
 				c_log.GlobalLogger.Error("上传 callback.json", callBackJson, "失败:", err)
 			}

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

@@ -36,7 +36,9 @@ func InitTriggerConfig() {
 		triggerLocalPath := config.CloudConfig.TriggersDir + fileName
 		_ = util.CreateParentDir(triggerLocalPath)
 		c_log.GlobalLogger.Info("下载触发器插件从 ", trigger.TriggerScriptPath, " 到 ", triggerLocalPath)
+		config.OssMutex.Lock()
 		err := config.OssBucket.GetObjectToFile(trigger.TriggerScriptPath, triggerLocalPath)
+		config.OssMutex.Lock()
 		if err != nil {
 			c_log.GlobalLogger.Error("下载 oss 上的触发器插件失败:", err)
 			continue