Use the new cron lib.
This commit is contained in:
parent
02e0f10016
commit
192df21da4
@ -31,7 +31,8 @@ func (this *TaskService) Init() {
|
||||
//init the clean footprint task.
|
||||
func (this *TaskService) InitCleanFootprintTask() {
|
||||
|
||||
expression := "0 10 0 * * ?"
|
||||
//use standard cron expression. 5 fields. ()
|
||||
expression := "10 0 * * *"
|
||||
cronJob := cron.New()
|
||||
entryId, err := cronJob.AddFunc(expression, this.footprintService.CleanOldData)
|
||||
core.PanicError(err)
|
||||
@ -43,7 +44,7 @@ func (this *TaskService) InitCleanFootprintTask() {
|
||||
//init the elt task.
|
||||
func (this *TaskService) InitEtlTask() {
|
||||
|
||||
expression := "0 5 0 * * ?"
|
||||
expression := "5 0 * * *"
|
||||
cronJob := cron.New()
|
||||
entryId, err := cronJob.AddFunc(expression, this.dashboardService.Etl)
|
||||
core.PanicError(err)
|
||||
@ -55,7 +56,7 @@ func (this *TaskService) InitEtlTask() {
|
||||
//init the scan task.
|
||||
func (this *TaskService) InitScanTask() {
|
||||
|
||||
expression := "0 5 0 * * ?"
|
||||
expression := "15 0 * * *"
|
||||
cronJob := cron.New()
|
||||
entryId, err := cronJob.AddFunc(expression, this.dashboardService.Etl)
|
||||
core.PanicError(err)
|
||||
|
@ -25,7 +25,7 @@ func (this *TankLogger) Init() {
|
||||
|
||||
this.openFile()
|
||||
|
||||
expression := "0 0 0 * * ?"
|
||||
expression := "0 0 * * *"
|
||||
cronJob := cron.New()
|
||||
entryId, err := cronJob.AddFunc(expression, this.maintain)
|
||||
core.PanicError(err)
|
||||
|
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user