背景
定时任务的实现方式有多种,常用的是使用 crontab
。最近的一个项目需要有执行定时(每5分钟)任务的需求,要求
不能使用 crontab
,于是在程序中使用 golang
实现了。
crontab 实现
假设使用 crontab
,会是这样的:
*/5 * * * * sh /path/to/script.sh
配置释义:分 时 日 月 周 命令
golang 实现
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(time.Second * time.Duration(300))
for curTime := range ticker.C {
fmt.Println(curTime)
// doSth.
}
}