configwatcher

package
v0.0.0-...-4972dd0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 15, 2020 License: BSD-3-Clause Imports: 26 Imported by: 0

Documentation

Overview

更新失败,重新进行检查和更新的相关处理。

Index

Constants

View Source
const (
	// 在此时间(单位: 秒)内没有被应用访问过的配置项将不再被监控.(schema文件中定义的配置项不受此限制)
	THRESHOLD_GC_ITEM = 600
	// 运行回收不再需要的watcher的时间间隔(单位: 秒).
	GC_UNNEEDED_NODE_WATCHER_INTERVAL = 610
)
View Source
const (
	// WATCH_LIST_INTIAL_SIZE 监控列表初始化大小
	WATCH_LIST_INTIAL_SIZE = 100

	// KEY_NAME_OF_STORE_DYNAMIC_REG_CONF_NODES 动态注册的配置项信息(磁盘)存储名称
	KEY_NAME_OF_STORE_DYNAMIC_REG_CONF_NODES = ":dynamically_registered_config_nodes"

	// 获取配置失败后,重新获取配置的间隔时间
	DELAY_OF_RECHECK_FAILED_CONFIG_ITEM = 15

	// MIN_INTERVAL_OF_EXEC_UPDATE_POST_CALLBACK 执行更新回调操作的最小间隔时间. 单位: 秒。(以最后的更新指令为准。更新操作生效会有固定的延时。这个值不应太大。)
	MIN_INTERVAL_OF_EXEC_UPDATE_POST_CALLBACK = 2
)
View Source
const INTERVAL_RESTART_LOCAL_FILE_WATCHER = 2

当本地(schema、debug)文件监控失败后,重启监控的事件间隔.(单位: 秒)

Variables

This section is empty.

Functions

func AddToWatchList

func AddToWatchList(name string) (hasBeenWatching bool)

func GetLastPostUpdateCallbackReqtime

func GetLastPostUpdateCallbackReqtime() int64

func GetNewValueOfConfig

func GetNewValueOfConfig(dItem string, dbc *projconfig.DebugConfigs, schemaFile string) (valueEncrypted []byte, valuePlain []byte, valueSerialized []byte, newVersionChecked bool, hasUpdate bool, isDebugValue bool, cErr error)

GetNewValueOfConfig 获取配置的最新值。(考虑config.debug.toml、config server、localstorage) cErr 配置获取时相关的错误 如果debug文件中有对应的值, newVersionChecked及hasUpdate始终为true

func LoadRegisteredNodesFromDisk

func LoadRegisteredNodesFromDisk() bool

这些节点需被添加到watchlist中。 一般只在客户端启动时运行一次。

func SaveRegisteredNodesToDisk

func SaveRegisteredNodesToDisk() bool

func Start

func Start() error

func TouchDynamicNode

func TouchDynamicNode(name string) bool

记录通过API获取的配置key。(而非通过解析schema文件) 并对key进行watch,如果有更新,则触发配置更新事件. RETURN: 对应的根节点之前是否已经被监听.

Types

type DebugFile

type DebugFile struct {
	Md5  string
	Path string
}

type WatchInfo

type WatchInfo struct {
	Name    string
	RegTime int64
	// 1 正在监听; 0 已经取消监听
	State int8
	// watcher 通讯通道: 1 退出监听
	Chan *chan int8
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL