mirror of
https://github.com/wgh136/nysoure.git
synced 2025-09-27 12:17:24 +00:00
Refactor search
This commit is contained in:
@@ -12,6 +12,10 @@ import (
|
||||
|
||||
var db *gorm.DB
|
||||
|
||||
var (
|
||||
ready = false
|
||||
)
|
||||
|
||||
func init() {
|
||||
if os.Getenv("DB_PORT") != "" {
|
||||
host := os.Getenv("DB_HOST")
|
||||
@@ -22,10 +26,18 @@ func init() {
|
||||
dsn := user + ":" + password + "@tcp(" + host + ":" + port + ")/" + dbName + "?charset=utf8mb4&parseTime=True&loc=Local"
|
||||
var err error
|
||||
// wait for mysql to be ready
|
||||
time.Sleep(5 * time.Second)
|
||||
db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
||||
if err != nil {
|
||||
panic("failed to connect database")
|
||||
retrys := 5
|
||||
for {
|
||||
db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
||||
if err == nil {
|
||||
ready = true
|
||||
break
|
||||
}
|
||||
retrys--
|
||||
if retrys < 0 {
|
||||
panic("failed to connect database: " + err.Error())
|
||||
}
|
||||
time.Sleep(1 * time.Second)
|
||||
}
|
||||
} else {
|
||||
var err error
|
||||
@@ -54,3 +66,7 @@ func init() {
|
||||
func GetDB() *gorm.DB {
|
||||
return db
|
||||
}
|
||||
|
||||
func IsReady() bool {
|
||||
return ready
|
||||
}
|
||||
|
Reference in New Issue
Block a user