67 lines
959 B
Go
67 lines
959 B
Go
|
|
/*
|
|||
|
|
* @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...")
|
|||
|
|
}
|