fix setup bugs
This commit is contained in:
parent
b15853d862
commit
af5d97794a
6 changed files with 52 additions and 15 deletions
|
|
@ -35,6 +35,22 @@ func Load(cfg config.Config) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Unload Connector
|
||||
func Unload() error {
|
||||
messages := []string{}
|
||||
for id, conn := range connector.Connectors {
|
||||
err := conn.Close()
|
||||
if err != nil {
|
||||
messages = append(messages, err.Error())
|
||||
}
|
||||
delete(connector.Connectors, id)
|
||||
}
|
||||
if len(messages) > 0 {
|
||||
return fmt.Errorf("%s", strings.Join(messages, ";\n"))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Close close connector
|
||||
func Close() error {
|
||||
messages := []string{}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,12 @@ func Load(cfg config.Config) (err error) {
|
|||
printErr(cfg.Mode, "Load Application", err)
|
||||
}
|
||||
|
||||
// Make Database connections
|
||||
err = share.DBConnect(cfg.DB)
|
||||
if err != nil {
|
||||
printErr(cfg.Mode, "DB", err)
|
||||
}
|
||||
|
||||
// Load Certs
|
||||
err = cert.Load(cfg)
|
||||
if err != nil {
|
||||
|
|
@ -86,12 +92,6 @@ func Load(cfg config.Config) (err error) {
|
|||
printErr(cfg.Mode, "Runtime", err)
|
||||
}
|
||||
|
||||
// Make Database connections
|
||||
err = share.DBConnect(cfg.DB)
|
||||
if err != nil {
|
||||
printErr(cfg.Mode, "DB", err)
|
||||
}
|
||||
|
||||
// Load Query Engine
|
||||
err = query.Load(cfg)
|
||||
if err != nil {
|
||||
|
|
@ -203,8 +203,11 @@ func Unload() (err error) {
|
|||
// Close DB
|
||||
err = share.DBClose()
|
||||
|
||||
// Close Query Engine
|
||||
err = query.Unload()
|
||||
|
||||
// Close Connectors
|
||||
err = connector.Close()
|
||||
err = connector.Unload()
|
||||
|
||||
// Recycle
|
||||
// api
|
||||
|
|
|
|||
|
|
@ -40,6 +40,14 @@ func Load(cfg config.Config) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Unload Query Engine
|
||||
func Unload() error {
|
||||
for id := range query.Engines {
|
||||
query.Unregister(id)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// registerDefaultQuery register the default engine
|
||||
func registerDefault() {
|
||||
if capsule.Global != nil {
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import (
|
|||
"github.com/gin-gonic/gin"
|
||||
"github.com/yaoapp/kun/exception"
|
||||
"github.com/yaoapp/xun"
|
||||
"github.com/yaoapp/yao/engine"
|
||||
"github.com/yaoapp/yao/widgets/app"
|
||||
)
|
||||
|
||||
|
|
@ -85,6 +86,12 @@ func runSetup(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
err = engine.Load(cfg)
|
||||
if err != nil {
|
||||
c.JSON(500, gin.H{"code": 500, "message": err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
// Return
|
||||
urls, err := AdminURL(cfg)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import (
|
|||
"github.com/yaoapp/yao/config"
|
||||
"github.com/yaoapp/yao/data"
|
||||
"github.com/yaoapp/yao/engine"
|
||||
"github.com/yaoapp/yao/studio"
|
||||
"github.com/yaoapp/yao/widgets/app"
|
||||
)
|
||||
|
||||
|
|
@ -112,11 +113,18 @@ func Install(payload map[string]map[string]string) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
defer func() {
|
||||
engine.Unload()
|
||||
time.Sleep(time.Millisecond * 200)
|
||||
}()
|
||||
|
||||
// Load Studio
|
||||
err = studio.Load(cfg)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Migrage & Setup
|
||||
err = makeMigrate(root, cfg)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -132,24 +132,23 @@ func Start() (err error) {
|
|||
|
||||
// Complete stop the studio api server
|
||||
func Complete() {
|
||||
engine.Unload()
|
||||
Done <- true
|
||||
}
|
||||
|
||||
// Stop stop the studio api server
|
||||
func Stop() {
|
||||
engine.Unload()
|
||||
shutdown <- true
|
||||
}
|
||||
|
||||
// AdminURL get admin url
|
||||
func AdminURL(cfg config.Config) ([]string, error) {
|
||||
err := engine.Load(cfg)
|
||||
|
||||
urls, err := URLs(cfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
urls, err := URLs(cfg)
|
||||
|
||||
adminRoot := "yao"
|
||||
if app.Setting.AdminRoot != "" {
|
||||
adminRoot = app.Setting.AdminRoot
|
||||
|
|
@ -164,10 +163,6 @@ func AdminURL(cfg config.Config) ([]string, error) {
|
|||
|
||||
// URLs get admin url
|
||||
func URLs(cfg config.Config) ([]string, error) {
|
||||
err := engine.Load(cfg)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
ips, err := Ips()
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue