Go整合cron实现定时任务
【摘要】 下载安装:go get github.com/robfig/cronv3版本安装(适用于Go 1.11版本及之后的):go get github.com/robfig/cron/v3@v3.0.0代码:package mainimport ( "fmt" "github.com/robfig/cron/v3" "time")func main() { methodB()}func metho...
下载安装:
go get github.com/robfig/cron
v3版本安装(适用于Go 1.11版本及之后的):
go get github.com/robfig/cron/v3@v3.0.0
代码:
package main
import (
"fmt"
"github.com/robfig/cron/v3"
"time"
)
func main() {
methodB()
}
func methodA() {
c := cron.New(cron.WithSeconds()) //精确到秒级,V3版本之后提供的
//定时任务
spec := "*/1 * * * * ?" //cron表达式,每秒一次
c.AddFunc(spec, func() {
fmt.Println("methodA 每秒一次...")
})
c.Start()
select {} //阻塞主线程停止
}
func methodB() {
c := cron.New()
//定时任务
spec := "*/1 * * * * ?" //cron表达式,每秒一次
c.AddFunc(spec, func() {
fmt.Println("methodA 每秒一次...")
time.Sleep(time.Second*5)
c.Stop()//停止任务
})
c.Start()
select {
}
}
func methodC() {
fmt.Println("methodC 定时任务C")
}
func methodE() {
fmt.Println("methodC 定时任务C")
}
func methodD() {
c := cron.New()
//定时任务
spec := "*/1 * * * * ?" //cron表达式,每秒一次
c.AddFunc(spec, methodE)
c.AddFunc(spec, methodC)
c.Start()
select {} //阻塞主线程停止
}
常用的cron字符串:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)