tcc-fence 模式下日志的自动清除
issue 关联 先查出可以清理的数据 按索引删除数据 给delete加上limit 查询代码后发现,在 tcc-fence 模式下并不存在自动删除日志的功能,于是准备实现该功能。 pull request 1. 配置文件 在 config 模块中新增了 Config 结构体,用于配置 TCC Fence 日志清理功能的相关参数。 type Config struct { Enable bool `yaml:"enable" json:"enable" koanf:"enable"` Url string `yaml:"url" json:"url" koanf:"url"` LogTableName string `yaml:"log-table-name" json:"log-table-name" koanf:"log-table-name"` CleanPeriod time.Duration `yaml:"clean-period" json:"clean-period" koanf:"clean-period"` } Enable: 是否启用日志清理功能。 Url: 数据库连接字符串。 LogTableName: TCC 日志表的名称。 CleanPeriod: 清理任务的执行周期。 2. 初始化函数 在客户端的 InitTCC 函数中添加了对 fence 的初始化逻辑。 func InitTCC(cfg fence.Config) { fence.InitFenceConfig(cfg) rm.GetRmCacheInstance().RegisterResourceManager(GetTCCResourceManagerInstance()) } 3. 配置初始化 在 InitFenceConfig 函数中,根据配置参数初始化相关组件,并启动清理任务。...