Use the new cron lib.

This commit is contained in:
lishuang
2020-07-11 16:30:28 +08:00
parent 02e0f10016
commit 192df21da4
4 changed files with 46 additions and 29 deletions

View File

@ -1,13 +1,53 @@
package test
import (
"fmt"
"github.com/eyebluecn/tank/code/core"
"github.com/robfig/cron/v3"
"log"
"testing"
"time"
)
func TestEveryOneSecondCron(t *testing.T) {
i := 0
customMethod := true
var c *cron.Cron
var spec string
if customMethod {
//use custom cron. every 1 second.
c = cron.New(cron.WithSeconds())
spec = "*/1 * * * * ?"
} else {
c = cron.New()
spec = "@every 1s"
}
entryId, err := c.AddFunc(spec, func() {
i++
log.Println("cron running:", i)
if i == 5 {
return
}
})
fmt.Printf("entryId = %d\n", entryId)
core.PanicError(err)
c.Start()
time.Sleep(3500 * time.Millisecond)
if i != 3 {
t.Errorf("should be 3\n")
}
fmt.Printf("i = %d", i)
}
func TestValidateCron(t *testing.T) {
spec := "*/1 * * * * ?"
spec := "@every 1s"
_, err := cron.ParseStandard(spec)
if err != nil {
t.Error(err)