Parcourir la source

fix(install): wait until db inited

Jacky il y a 1 jour
Parent
commit
910a2efbd9
1 fichiers modifiés avec 11 ajouts et 1 suppressions
  1. 11 1
      internal/kernel/boot.go

+ 11 - 1
internal/kernel/boot.go

@@ -7,6 +7,7 @@ import (
 	"mime"
 	"mime"
 	"path"
 	"path"
 	"runtime"
 	"runtime"
+	"sync"
 
 
 	"github.com/0xJacky/Nginx-UI/internal/analytic"
 	"github.com/0xJacky/Nginx-UI/internal/analytic"
 	"github.com/0xJacky/Nginx-UI/internal/cache"
 	"github.com/0xJacky/Nginx-UI/internal/cache"
@@ -80,10 +81,18 @@ func recovery() {
 	}
 	}
 }
 }
 
 
-var installChan = make(chan struct{})
+var (
+	installChan = make(chan struct{})
+	dbInited    = sync.WaitGroup{}
+)
+
+func init() {
+	dbInited.Add(1)
+}
 
 
 func PostInstall() {
 func PostInstall() {
 	installChan <- struct{}{}
 	installChan <- struct{}{}
+	dbInited.Wait()
 }
 }
 
 
 func InitDatabase(ctx context.Context) {
 func InitDatabase(ctx context.Context) {
@@ -102,6 +111,7 @@ func InitDatabase(ctx context.Context) {
 	query.Init(db)
 	query.Init(db)
 
 
 	InitAfterDatabase(ctx)
 	InitAfterDatabase(ctx)
+	dbInited.Done()
 }
 }
 
 
 func InitNodeSecret() {
 func InitNodeSecret() {