Use the new cron lib.
This commit is contained in:
@ -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)
|
||||
|
@ -2,10 +2,7 @@ package test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/eyebluecn/tank/code/core"
|
||||
"github.com/eyebluecn/tank/code/tool/util"
|
||||
"github.com/robfig/cron/v3"
|
||||
"log"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
@ -23,27 +20,6 @@ func TestHello(t *testing.T) {
|
||||
|
||||
}
|
||||
|
||||
func TestCron(t *testing.T) {
|
||||
|
||||
i := 0
|
||||
c := cron.New()
|
||||
spec := "*/1 * * * * ?"
|
||||
entryId, err := c.AddFunc(spec, func() {
|
||||
i++
|
||||
log.Println("cron running:", i)
|
||||
if i == 3 {
|
||||
panic("intent to panic.")
|
||||
}
|
||||
})
|
||||
fmt.Printf("entryId = %d", entryId)
|
||||
core.PanicError(err)
|
||||
|
||||
c.Start()
|
||||
|
||||
time.Sleep(3 * time.Second)
|
||||
|
||||
}
|
||||
|
||||
func TestDayAgo(t *testing.T) {
|
||||
|
||||
dayAgo := time.Now()
|
||||
|
Reference in New Issue
Block a user