1.背景
- 定时实现清理/刷新 缓存
- 定时调度任务
- …
2.实现
通过 time.NewTicker 实现
golang">func (a *Alerts) Run(ctx context.Context, interval time.Duration) {t := time.NewTicker(interval)defer t.Stop()for {select {case <-ctx.Done():returncase <-t.C:a.gc()}}
}
3.结论
通过 time.NewTicker 实现轻量级定时执行任务调度