feat(Go-StudyExample):2020/12/17: 新增cronTab与go cron的定时任务使用示例
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
* @Author : huangzj
|
||||
* @Time : 2020/12/16 17:10
|
||||
* @Description:
|
||||
*/
|
||||
|
||||
package cron
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/robfig/cron"
|
||||
"log"
|
||||
"testing"
|
||||
)
|
||||
|
||||
//测试单个定时任务
|
||||
func TestCron(t *testing.T) {
|
||||
i := 0
|
||||
c := cron.New()
|
||||
spec := "0 */1 * * * ?" //一分钟运行一次
|
||||
_ = c.AddFunc(spec, func() {
|
||||
i++
|
||||
fmt.Println("cron running:", i)
|
||||
})
|
||||
c.Start()
|
||||
|
||||
select {}
|
||||
}
|
||||
|
||||
//多个定时任务
|
||||
func TestMoreCron(t *testing.T) {
|
||||
i := 0
|
||||
c := cron.New()
|
||||
//AddFunc
|
||||
spec := "*/5 * * * * ?"
|
||||
_ = c.AddFunc(spec, func() {
|
||||
i++
|
||||
log.Println("cron running:", i)
|
||||
})
|
||||
|
||||
//AddJob方法
|
||||
_ = c.AddJob(spec, TestJob{})
|
||||
_ = c.AddJob(spec, Test2Job{})
|
||||
|
||||
//启动计划任务
|
||||
c.Start()
|
||||
|
||||
//关闭着计划任务, 但是不能关闭已经在执行中的任务.
|
||||
defer c.Stop()
|
||||
|
||||
select {}
|
||||
}
|
||||
|
||||
type TestJob struct {
|
||||
}
|
||||
|
||||
func (t TestJob) Run() {
|
||||
fmt.Println("testJob1...")
|
||||
}
|
||||
|
||||
type Test2Job struct {
|
||||
}
|
||||
|
||||
func (t Test2Job) Run() {
|
||||
fmt.Println("testJob2...")
|
||||
}
|
||||
Reference in New Issue
Block a user