0
点赞
收藏
分享

微信扫一扫

25. Go语言中的定时任务(Cron Jobs)

实例目标:

展示如何使用Go语言进行定时任务的调度,定时执行某些操作。

代码示例:

package main

import (
    "fmt"
    "time"
)

func main() {
    ticker := time.NewTicker(2 * time.Second) // 每2秒执行一次

    // 启动一个定时任务
    go func() {
        for {
            <-ticker.C // 每当ticker时间到达时执行
            fmt.Println("Task executed at", time.Now())
        }
    }()

    // 模拟程序运行一段时间
    time.Sleep(10 * time.Second)
    ticker.Stop() // 停止ticker
    fmt.Println("Ticker stopped")
}

解释:

  1. time.NewTicker()NewTicker函数创建一个定时器,每过指定的时间间隔就会发送一个事件到ticker.C channel。通过接收channel中的事件来执行定时任务。
  2. 定时任务的执行: 每2秒钟,程序就会打印当前时间,表示定时任务已经执行。定时任务是通过goroutine并行执行的。
  3. 停止定时器: 使用ticker.Stop()停止定时器,避免程序一直运行。

应用场景:

定时任务用于处理定期执行的任务,如清理日志、周期性数据备份、定时更新等。Go语言的定时器非常适合做高效的定时调度。

举报

相关推荐

0 条评论