agent/pluginmanager/config.go (53 lines of code) (raw):

package pluginmanager import ( "os" "path" "strconv" "strings" "github.com/aliyun/aliyun_assist_client/agent/log" "github.com/aliyun/aliyun_assist_client/common/pathutil" ) func loadIntervalConf() { // 读取配置文件,如果有就读取并设置相关变量。用来测试的 configDir, err := pathutil.GetConfigPath() if err != nil { log.GetLogger().WithError(err).Error("Failed to determine configuration directory of current version") return } intervalPath := path.Join(configDir, "PluginCheckInterval") content, err := os.ReadFile(intervalPath) if err != nil { return } contentStr := string(content) /* pluginHealthScanInterval=60, pluginHealthPullInterval=60, pluginUpdateCheckInterval=60 pluginListReportInterval=60 */ pvsList := strings.Split(contentStr, ",") for _, pvs := range pvsList { pvs = strings.TrimSpace(pvs) if len(pvs) == 0 { continue } pv := strings.Split(pvs, "=") if len(pv) != 2 { continue } interval, err := strconv.Atoi(pv[1]) if err != nil { continue } setInterval(pv[0], interval) } } func setInterval(params string, interval int) { // if interval < 60 { // interval = 60 // } // if interval > 2*60*60 { // interval = 2 * 60 * 60 // } if params == "pluginHealthScanInterval" { pluginHealthScanInterval = interval log.GetLogger().Infof("pluginHealthScanInterval is init as %d seconds", interval) } else if params == "pluginHealthPullInterval" { pluginHealthPullInterval = interval log.GetLogger().Infof("pluginHealthPullInterval is init as %d seconds", interval) } else if params == "pluginUpdateCheckInterval" { pluginUpdateCheckInterval = interval log.GetLogger().Infof("pluginUpdateCheckIntervalSeconds is init as %d seconds", interval) } else if params == "pluginListReportInterval" { pluginListReportInterval = interval log.GetLogger().Infof("pluginListReportInterval is init as %d seconds", interval) } }