Go问答 定时执行问题

dbas · 2020年07月14日 · 最后由 drsalar 回复于 2020年07月16日 · 404 次阅读
func main() {
    var wg sync.WaitGroup
    wg.Add(1)
    ticker1 := time.NewTicker(5 * time.Second)
    go func (t *time.Ticker) {
        defer wg.Done()
        for {
            <-t.C

            fmt.Println("get ticker1", time.Now().Format("2006-01-02 15:04:05"))
            CheckTable() //检查表,返回Files 
            if Files != nil {//如果表中有数据,我就想停了定时
                t.Stop() //停止定时
                //执行处理数据...
                //处理数据后,我还想继续开始定时运行CheckTable() 

            }

        }
    }


    wg.Wait()

}
更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio
  1. 不停止定时器?
  2. 重新 New 一个?

用 time.Sleep 吧

dbas 关闭了讨论 07月21日 13:17
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册