Browse Source

test cover more

pull/13/head
yedf2 5 years ago
parent
commit
879eda00d8
  1. 15
      app/main.go
  2. 5
      dtmsvr/cron.go
  3. 6
      dtmsvr/dtmsvr_test.go
  4. 6
      dtmsvr/main.go

15
app/main.go

@ -19,16 +19,17 @@ func wait() {
}
func main() {
if len(os.Args) > 1 && os.Args[1] == "dtmsvr" { // 实际运行,只启动dtmsvr,不重新load数据
dtmsvr.MainStart()
wait()
onlyServer := len(os.Args) > 1 && os.Args[1] == "dtmsvr"
if !onlyServer { // 实际线上运行,只启动dtmsvr,不准备table相关的数据
dtmsvr.PopulateMysql(true)
}
// 下面都是运行示例,因此首先把服务器的数据重新准备好
dtmsvr.PopulateMysql(true)
dtmsvr.MainStart()
if len(os.Args) == 1 { // 默认没有参数的情况下,准备好数据并启动dtmsvr即可
dtmsvr.StartSvr() // 启动dtmsvr的api服务
go dtmsvr.CronExpiredTrans(-1) // 启动dtmsvr的定时过期查询
if onlyServer || len(os.Args) == 1 { // 没有参数,或者参数为dtmsvr,则不运行例子
wait()
}
// quick_start 比较独立,单独作为一个例子运行,方便新人上手
if len(os.Args) > 1 && (os.Args[1] == "quick_start" || os.Args[1] == "qs") {
examples.QsStartSvr()

5
dtmsvr/cron.go

@ -26,8 +26,8 @@ func CronTransOnce(expireIn time.Duration) bool {
// CronExpiredTrans cron expired trans, num == -1 indicate for ever
func CronExpiredTrans(num int) {
for i := 0; i < num || num == -1; i++ {
notEmpty := CronTransOnce(time.Duration(0))
if !notEmpty {
hasTrans := CronTransOnce(time.Duration(0))
if !hasTrans && num != 1 {
sleepCronTime()
}
}
@ -60,5 +60,6 @@ func handlePanic() {
func sleepCronTime() {
delta := math.Min(3, float64(config.TransCronInterval))
interval := time.Duration((float64(config.TransCronInterval) - rand.Float64()*delta) * float64(time.Second))
logrus.Printf("sleeping for %v", interval)
time.Sleep(interval)
}

6
dtmsvr/dtmsvr_test.go

@ -41,8 +41,10 @@ func TestCover(t *testing.T) {
db := dbGet()
db.NoMust()
CronTransOnce(0)
defer handlePanic()
checkAffected(db.DB)
err := common.CatchP(func() {
checkAffected(db.DB)
})
assert.Error(t, err)
CronExpiredTrans(1)
go sleepCronTime()

6
dtmsvr/main.go

@ -11,12 +11,6 @@ import (
var dtmsvrPort = 8080
// MainStart main
func MainStart() {
StartSvr()
go CronExpiredTrans(-1)
}
// StartSvr StartSvr
func StartSvr() {
logrus.Printf("start dtmsvr")

Loading…
Cancel
Save