本文将介绍如何在Go语言环境中简单有效地实现定时任务功能,包括crontab语法、使用第三方库等方法。适合初学者参考学习。
下载cron包:`go get github.com/robfig/cron`
开启一个定时任务:根据cron表达式进行时间调度,cron可以精确到秒,大部分表达式格式也是从秒开始。
```go
c := cron.New(cron.WithSeconds()) // 精确到秒
func main() {
c := cron.New(cron.WithSeconds()) // 确保定时任务按照表达式的字面意思执行
spec := */1 * * * * ? // 每秒一次
c.AddFunc(spec, func() {
fmt.Println(Task executed)
})
}
```
注意,`cron.New()`默认从分钟开始调度时间,加上`cron.WithSeconds()`可以确保定时任务按照表达式的字面意思精确到秒执行。