robfig/cron
最后更新于:2022-04-02 04:57:50
**robfig/cron**
安装:
~~~
go get -u github.com/robfig/cron
~~~
应用:
每分钟执行一次:
~~~
package main
import (
"log"
"github.com/robfig/cron"
)
func main() {
i := 0
c := cron.New()
spec := "0 */1 * * * *"
c.AddFunc(spec, func() {
i++
log.Println("execute per second", i)
})
c.Start()
select {}
}
~~~
其中注意select的用法:
golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。
每天上午9点到12点的第2和第10分钟执行:
~~~
package main
import (
"fmt"
"github.com/robfig/cron"
)
func main() {
spec := "2,10 9-12 * * *" // 每天上午9点到12点的第2和第10分钟执行
c := cron.New()
c.AddFunc(spec, myFunc)
c.Start()
select {}
}
func myFunc() {
fmt.Println("execute")
}
~~~
';