mirror of
https://gitee.com/willfree/mlsr.git
synced 2026-10-04 19:42:02 +08:00
116 lines
2.3 KiB
Go
116 lines
2.3 KiB
Go
// Package lsdb
|
|
// @Author: Wang Feng
|
|
// @Description:
|
|
// @Version: 0.1.0
|
|
// @Date: 2022/5/30 11:19
|
|
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
|
//
|
|
|
|
package lsdb
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/go-co-op/gocron"
|
|
common2 "minlib/common"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func printHelloWithS(s string) {
|
|
fmt.Println("hello, ", s)
|
|
}
|
|
|
|
func printHello() {
|
|
fmt.Println("hello! ")
|
|
}
|
|
|
|
func testLuoTest() error {
|
|
timeRun := time.Now()
|
|
timeRun.Add(time.Second)
|
|
|
|
sche := gocron.NewScheduler(time.UTC)
|
|
job, err := sche.Every(3).Seconds().StartAt(timeRun).Do(printHelloWithS, "fuck")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
job.LimitRunsTo(3)
|
|
sche.StartAsync()
|
|
return nil
|
|
//for true {
|
|
// time.Sleep(time.Second)
|
|
//}
|
|
}
|
|
|
|
func testLuoTest2() error {
|
|
timeRun := time.Now()
|
|
timeRun.Add(time.Second)
|
|
|
|
sche := gocron.NewScheduler(time.UTC)
|
|
job, err := sche.Every(3).Seconds().StartAt(timeRun).Do(printHelloWithS, "fuck2")
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
job.LimitRunsTo(3)
|
|
sche.StartAsync()
|
|
return nil
|
|
//for true {
|
|
// time.Sleep(time.Second)
|
|
//}
|
|
}
|
|
|
|
func TestMlsrScheduler_ScheduleTaskAfterDuration(t *testing.T) {
|
|
//_ = testLuoTest()
|
|
//_ = testLuoTest2()
|
|
//printHelloWithS("ddd")
|
|
//for true {
|
|
// time.Sleep(time.Second)
|
|
//}
|
|
|
|
// 构造
|
|
s := new(MlsrScheduler)
|
|
s.Init()
|
|
// 定时
|
|
timeNow := time.Now()
|
|
timeNow = timeNow.Add(3 * time.Second)
|
|
//调度任务
|
|
job, err := s.ScheduleTaskAfterDuration(time.Second, 3).Do(printHelloWithS, "sss")
|
|
job.LimitRunsTo(3)
|
|
s.StartAsync()
|
|
if err != nil {
|
|
fmt.Println("调度器调度任务测试失败, " + err.Error())
|
|
return
|
|
}
|
|
for true {
|
|
time.Sleep(time.Second)
|
|
}
|
|
//关闭调度器
|
|
s.Close()
|
|
}
|
|
|
|
//
|
|
// TestMlsrScheduler_ScheduleTaskAtTime
|
|
// @Description: 测试调度器在指定时间执行任务
|
|
// @param t
|
|
//
|
|
func TestMlsrScheduler_ScheduleTaskAtTime(t *testing.T) {
|
|
// 构造
|
|
s := new(MlsrScheduler)
|
|
s.Init()
|
|
// 定时
|
|
timeNow := time.Now()
|
|
timeNow = timeNow.Add(3 * time.Second)
|
|
// 调度任务
|
|
job, err := s.ScheduleTaskAtTime(timeNow, 1).Do(printHello)
|
|
job.LimitRunsTo(3)
|
|
s.StartAsync()
|
|
if err != nil {
|
|
common2.LogFatal("调度器调度任务测试失败, " + err.Error())
|
|
return
|
|
}
|
|
for true {
|
|
time.Sleep(time.Second)
|
|
}
|
|
// 关闭调度器
|
|
s.Close()
|
|
}
|