golang
夏日风帆
coding
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
golang定时任务的一些尝试
背景:在Java中定时任务有成熟的框架 如quartz等 用起来比较方便 到了go 相对要少一些 特别是一些复杂的定时任务,比如:要求:1、在指定时间开始执行任务2、按照指定周期(单位:minutes)重复执行3、执行固定的次数或者到截止时间结束任务4、任务支持取消 包含未执行或者正在执行的任务代码样例:type Task struct { BeginTime time.Time // 任务开始时间 EndTime time.Time // 任务结束时间 Tas.原创 2022-02-05 23:02:51 · 1004 阅读 · 0 评论 -
go viper涉及多个配置文件时使用watchconfig 配置丢失问题
背景:最近在项目使用中需要同时使用两个配置文件 一个是程序启动时需要的配置如日志级别 另一个是会更新的业务配置文件 使用同一个viper对象管理 发现只要这个文件变动触发viper更新则第一个文件的所有配置项丢失原因:即使读取第二个文件使用MergeInConfig 问题还会存在查看源码发现func (v *Viper) WatchConfig() { initWG := sync.WaitGroup{} initWG.Add(1) go func() { watche原创 2022-01-23 16:38:05 · 3552 阅读 · 0 评论
分享