mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2025-11-02 22:10:26 +08:00
优化单例应用安装程序
This commit is contained in:
@@ -8,16 +8,21 @@ import (
|
||||
_ "github.com/iwind/TeaGo/bootstrap"
|
||||
"github.com/iwind/TeaGo/lists"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func main() {
|
||||
dbPasswordData, err := os.ReadFile("/usr/local/mysql/generated-password.txt")
|
||||
if err != nil {
|
||||
fmt.Println("[ERROR]read mysql password failed: " + err.Error())
|
||||
return
|
||||
var dbHost = "127.0.0.1"
|
||||
var dbPassword = "123456"
|
||||
|
||||
envDBHost, _ := os.LookupEnv("DB_HOST")
|
||||
if len(envDBHost) > 0 {
|
||||
dbHost = envDBHost
|
||||
}
|
||||
|
||||
envDBPassword, _ := os.LookupEnv("DB_PASSWORD")
|
||||
if len(envDBPassword) > 0 {
|
||||
dbPassword = envDBPassword
|
||||
}
|
||||
var dbPassword = strings.TrimSpace(string(dbPasswordData))
|
||||
|
||||
var isTesting = lists.ContainsString(os.Args, "-test") || lists.ContainsString(os.Args, "--test")
|
||||
if isTesting {
|
||||
@@ -27,7 +32,7 @@ func main() {
|
||||
var instance = instances.NewInstance(instances.Options{
|
||||
IsTesting: isTesting,
|
||||
Verbose: lists.ContainsString(os.Args, "-v"),
|
||||
Cacheable: true,
|
||||
Cacheable: false,
|
||||
WorkDir: "",
|
||||
SrcDir: "/usr/local/goedge/src",
|
||||
DB: struct {
|
||||
@@ -37,7 +42,7 @@ func main() {
|
||||
Password string
|
||||
Name string
|
||||
}{
|
||||
Host: "127.0.0.1",
|
||||
Host: dbHost,
|
||||
Port: 3306,
|
||||
Username: "root",
|
||||
Password: dbPassword,
|
||||
@@ -56,7 +61,7 @@ func main() {
|
||||
RestHTTPPort: 8002,
|
||||
},
|
||||
Node: struct{ HTTPPort int }{
|
||||
HTTPPort: 8080,
|
||||
HTTPPort: 80,
|
||||
},
|
||||
UserNode: struct {
|
||||
HTTPPort int
|
||||
@@ -64,7 +69,7 @@ func main() {
|
||||
HTTPPort: 7799,
|
||||
},
|
||||
})
|
||||
err = instance.SetupAll()
|
||||
err := instance.SetupAll()
|
||||
if err != nil {
|
||||
fmt.Println("[ERROR]setup failed: " + err.Error())
|
||||
return
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
package instances
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
@@ -77,6 +78,15 @@ func (this *Instance) SetupDB() error {
|
||||
_ = db.Close()
|
||||
}()
|
||||
|
||||
// 等待连接成功
|
||||
for i := 0; i < 30; i++ {
|
||||
err := db.Raw().PingContext(context.Background())
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
time.Sleep(1 * time.Second)
|
||||
}
|
||||
|
||||
_, err := db.Exec("USE `" + this.options.DB.Name + "`")
|
||||
if err != nil {
|
||||
if models.CheckSQLErrCode(err, 1049) {
|
||||
|
||||
Reference in New Issue
Block a user