test cover more
This commit is contained in:
parent
4766038eba
commit
879eda00d8
17
app/main.go
17
app/main.go
@ -19,16 +19,17 @@ func wait() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if len(os.Args) > 1 && os.Args[1] == "dtmsvr" { // 实际运行,只启动dtmsvr,不重新load数据
|
onlyServer := len(os.Args) > 1 && os.Args[1] == "dtmsvr"
|
||||||
dtmsvr.MainStart()
|
if !onlyServer { // 实际线上运行,只启动dtmsvr,不准备table相关的数据
|
||||||
wait()
|
dtmsvr.PopulateMysql(true)
|
||||||
}
|
}
|
||||||
// 下面都是运行示例,因此首先把服务器的数据重新准备好
|
dtmsvr.StartSvr() // 启动dtmsvr的api服务
|
||||||
dtmsvr.PopulateMysql(true)
|
go dtmsvr.CronExpiredTrans(-1) // 启动dtmsvr的定时过期查询
|
||||||
dtmsvr.MainStart()
|
|
||||||
if len(os.Args) == 1 { // 默认没有参数的情况下,准备好数据并启动dtmsvr即可
|
if onlyServer || len(os.Args) == 1 { // 没有参数,或者参数为dtmsvr,则不运行例子
|
||||||
wait()
|
wait()
|
||||||
}
|
}
|
||||||
|
|
||||||
// quick_start 比较独立,单独作为一个例子运行,方便新人上手
|
// quick_start 比较独立,单独作为一个例子运行,方便新人上手
|
||||||
if len(os.Args) > 1 && (os.Args[1] == "quick_start" || os.Args[1] == "qs") {
|
if len(os.Args) > 1 && (os.Args[1] == "quick_start" || os.Args[1] == "qs") {
|
||||||
examples.QsStartSvr()
|
examples.QsStartSvr()
|
||||||
|
|||||||
@ -26,8 +26,8 @@ func CronTransOnce(expireIn time.Duration) bool {
|
|||||||
// CronExpiredTrans cron expired trans, num == -1 indicate for ever
|
// CronExpiredTrans cron expired trans, num == -1 indicate for ever
|
||||||
func CronExpiredTrans(num int) {
|
func CronExpiredTrans(num int) {
|
||||||
for i := 0; i < num || num == -1; i++ {
|
for i := 0; i < num || num == -1; i++ {
|
||||||
notEmpty := CronTransOnce(time.Duration(0))
|
hasTrans := CronTransOnce(time.Duration(0))
|
||||||
if !notEmpty {
|
if !hasTrans && num != 1 {
|
||||||
sleepCronTime()
|
sleepCronTime()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -60,5 +60,6 @@ func handlePanic() {
|
|||||||
func sleepCronTime() {
|
func sleepCronTime() {
|
||||||
delta := math.Min(3, float64(config.TransCronInterval))
|
delta := math.Min(3, float64(config.TransCronInterval))
|
||||||
interval := time.Duration((float64(config.TransCronInterval) - rand.Float64()*delta) * float64(time.Second))
|
interval := time.Duration((float64(config.TransCronInterval) - rand.Float64()*delta) * float64(time.Second))
|
||||||
|
logrus.Printf("sleeping for %v", interval)
|
||||||
time.Sleep(interval)
|
time.Sleep(interval)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,8 +41,10 @@ func TestCover(t *testing.T) {
|
|||||||
db := dbGet()
|
db := dbGet()
|
||||||
db.NoMust()
|
db.NoMust()
|
||||||
CronTransOnce(0)
|
CronTransOnce(0)
|
||||||
defer handlePanic()
|
err := common.CatchP(func() {
|
||||||
checkAffected(db.DB)
|
checkAffected(db.DB)
|
||||||
|
})
|
||||||
|
assert.Error(t, err)
|
||||||
|
|
||||||
CronExpiredTrans(1)
|
CronExpiredTrans(1)
|
||||||
go sleepCronTime()
|
go sleepCronTime()
|
||||||
|
|||||||
@ -11,12 +11,6 @@ import (
|
|||||||
|
|
||||||
var dtmsvrPort = 8080
|
var dtmsvrPort = 8080
|
||||||
|
|
||||||
// MainStart main
|
|
||||||
func MainStart() {
|
|
||||||
StartSvr()
|
|
||||||
go CronExpiredTrans(-1)
|
|
||||||
}
|
|
||||||
|
|
||||||
// StartSvr StartSvr
|
// StartSvr StartSvr
|
||||||
func StartSvr() {
|
func StartSvr() {
|
||||||
logrus.Printf("start dtmsvr")
|
logrus.Printf("start dtmsvr")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user