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