go-admin-team/go-admin

jobbase.go 中的 Setup 调用一次 setup 就会停止了, 是设计成这样吗

xpoy1 opened this issue · 1 comments

Reproduction link

https://github.com/go-admin-team/go-admin/blob/master/app/jobs/jobbase.go

Steps to reproduce

// Setup 初始化
func Setup(dbs map[string]*gorm.DB) {

	fmt.Println(time.Now().Format(timeFormat), " [INFO] JobCore Starting...")

	for k, db := range dbs {
		sdk.Runtime.SetCrontab(k, cronjob.NewWithSeconds())
		setup(k, db)
	}
}


func setup(key string, db *gorm.DB) {
	crontab := sdk.Runtime.GetCrontabKey(key)
	//....

	// 其中任务
	crontab.Start()
	fmt.Println(time.Now().Format(timeFormat), " [INFO] JobCore start success.")
	// 关闭任务
	defer crontab.Stop()
	select {}
}

What is expected?

for k, db := range dbs { 

是想对每个 db 循环执行setup?

What is actually happening?

setup 中 select {} 永久阻塞, 不会返回了

Environment Info
go-admin undefined
Go go
System any
Browser any

这里是针对多租户添加的初始化db