|
@@ -83,63 +83,63 @@ func InitCloudConfig() {
|
|
var err error
|
|
var err error
|
|
|
|
|
|
// todo 测试时不从网上拉取配置文件,编译时需修改好下面内容
|
|
// todo 测试时不从网上拉取配置文件,编译时需修改好下面内容
|
|
- //if LocalConfig.Internet {
|
|
|
|
- // c_log.GlobalLogger.Info("车辆可以访问互联网。")
|
|
|
|
- // // 获取文件的目录
|
|
|
|
- // _ = util.CreateParentDir(LocalConfig.CloudConfigLocalPath)
|
|
|
|
- // // 3 ------- 获取 yaml 字符串 -------
|
|
|
|
- // cloudConfigObjectKey := LocalConfig.OssBasePrefix + LocalConfig.EquipmentNo + "/" + LocalConfig.CloudConfigFilename
|
|
|
|
- // // todo 等待时间同步
|
|
|
|
- // // 判断文件是否存在。如果不存在则使用默认的
|
|
|
|
- // isExist, err := OssBucket.IsObjectExist(cloudConfigObjectKey)
|
|
|
|
- // if err != nil {
|
|
|
|
- // c_log.GlobalLogger.Errorf("判断配置文件是否存在失败,错误信息为:%v", err)
|
|
|
|
- // }
|
|
|
|
- // if isExist {
|
|
|
|
- // c_log.GlobalLogger.Info("使用机器人自定义配置文件:", cloudConfigObjectKey)
|
|
|
|
- // } else {
|
|
|
|
- // cloudConfigObjectKey = LocalConfig.OssBasePrefix + LocalConfig.CloudConfigFilename // 默认配置文件路径
|
|
|
|
- // c_log.GlobalLogger.Info("使用默认配置文件:", cloudConfigObjectKey)
|
|
|
|
- // }
|
|
|
|
- // for {
|
|
|
|
- // OssMutex.Lock()
|
|
|
|
- // err := OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
|
|
|
|
- // OssMutex.Unlock()
|
|
|
|
- // if err != nil {
|
|
|
|
- // c_log.GlobalLogger.Error("下载oss上的配置文件 "+cloudConfigObjectKey+" 失败。网络授时未完成或者未配置阿里云网络映射到/etc/hosts:", err)
|
|
|
|
- // time.Sleep(time.Duration(2) * time.Second)
|
|
|
|
- // continue
|
|
|
|
- // }
|
|
|
|
- // break
|
|
|
|
- // }
|
|
|
|
- // if CloudConfig.RefreshCloudConfig {
|
|
|
|
- // go RefreshCloudConfig()
|
|
|
|
- // }
|
|
|
|
- //} else {
|
|
|
|
- // c_log.GlobalLogger.Infof("车辆不可以访问互联网,请提前将配置文件放到【%v】。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
- // for {
|
|
|
|
- // time.Sleep(time.Duration(1) * time.Second)
|
|
|
|
- // if util.FileExists(LocalConfig.CloudConfigLocalPath) {
|
|
|
|
- // c_log.GlobalLogger.Infof("配置文件【%v】已准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
- // break
|
|
|
|
- // } else {
|
|
|
|
- // c_log.GlobalLogger.Infof("配置文件【%v】没有准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
- // continue
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
- //}
|
|
|
|
-
|
|
|
|
- for {
|
|
|
|
- time.Sleep(time.Duration(1) * time.Second)
|
|
|
|
- if util.FileExists(LocalConfig.CloudConfigLocalPath) {
|
|
|
|
- c_log.GlobalLogger.Infof("配置文件【%v】已准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
- break
|
|
|
|
|
|
+ if LocalConfig.Internet {
|
|
|
|
+ c_log.GlobalLogger.Info("车辆可以访问互联网。")
|
|
|
|
+ // 获取文件的目录
|
|
|
|
+ _ = util.CreateParentDir(LocalConfig.CloudConfigLocalPath)
|
|
|
|
+ // 3 ------- 获取 yaml 字符串 -------
|
|
|
|
+ cloudConfigObjectKey := LocalConfig.OssBasePrefix + LocalConfig.EquipmentNo + "/" + LocalConfig.CloudConfigFilename
|
|
|
|
+ // todo 等待时间同步
|
|
|
|
+ // 判断文件是否存在。如果不存在则使用默认的
|
|
|
|
+ isExist, err := OssBucket.IsObjectExist(cloudConfigObjectKey)
|
|
|
|
+ if err != nil {
|
|
|
|
+ c_log.GlobalLogger.Errorf("判断配置文件是否存在失败,错误信息为:%v", err)
|
|
|
|
+ }
|
|
|
|
+ if isExist {
|
|
|
|
+ c_log.GlobalLogger.Info("使用机器人自定义配置文件:", cloudConfigObjectKey)
|
|
} else {
|
|
} else {
|
|
- c_log.GlobalLogger.Infof("配置文件【%v】没有准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
- continue
|
|
|
|
|
|
+ cloudConfigObjectKey = LocalConfig.OssBasePrefix + LocalConfig.CloudConfigFilename // 默认配置文件路径
|
|
|
|
+ c_log.GlobalLogger.Info("使用默认配置文件:", cloudConfigObjectKey)
|
|
|
|
+ }
|
|
|
|
+ for {
|
|
|
|
+ OssMutex.Lock()
|
|
|
|
+ err := OssBucket.GetObjectToFile(cloudConfigObjectKey, LocalConfig.CloudConfigLocalPath)
|
|
|
|
+ OssMutex.Unlock()
|
|
|
|
+ if err != nil {
|
|
|
|
+ c_log.GlobalLogger.Error("下载oss上的配置文件 "+cloudConfigObjectKey+" 失败。网络授时未完成或者未配置阿里云网络映射到/etc/hosts:", err)
|
|
|
|
+ time.Sleep(time.Duration(2) * time.Second)
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ if CloudConfig.RefreshCloudConfig {
|
|
|
|
+ go RefreshCloudConfig()
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ c_log.GlobalLogger.Infof("车辆不可以访问互联网,请提前将配置文件放到【%v】。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
+ for {
|
|
|
|
+ time.Sleep(time.Duration(1) * time.Second)
|
|
|
|
+ if util.FileExists(LocalConfig.CloudConfigLocalPath) {
|
|
|
|
+ c_log.GlobalLogger.Infof("配置文件【%v】已准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
+ break
|
|
|
|
+ } else {
|
|
|
|
+ c_log.GlobalLogger.Infof("配置文件【%v】没有准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //for {
|
|
|
|
+ // time.Sleep(time.Duration(1) * time.Second)
|
|
|
|
+ // if util.FileExists(LocalConfig.CloudConfigLocalPath) {
|
|
|
|
+ // c_log.GlobalLogger.Infof("配置文件【%v】已准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
+ // break
|
|
|
|
+ // } else {
|
|
|
|
+ // c_log.GlobalLogger.Infof("配置文件【%v】没有准备好。", LocalConfig.CloudConfigLocalPath)
|
|
|
|
+ // continue
|
|
|
|
+ // }
|
|
|
|
+ //}
|
|
|
|
+
|
|
content, err = os.ReadFile(LocalConfig.CloudConfigLocalPath)
|
|
content, err = os.ReadFile(LocalConfig.CloudConfigLocalPath)
|
|
if err != nil {
|
|
if err != nil {
|
|
c_log.GlobalLogger.Error("程序退出。配置文件 ", LocalConfig.CloudConfigLocalPath, " 读取失败:", err)
|
|
c_log.GlobalLogger.Error("程序退出。配置文件 ", LocalConfig.CloudConfigLocalPath, " 读取失败:", err)
|