From f73f610cdf4b0666dc139a51e72353b88f8f25ab Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 19 十月 2023 17:27:17 +0800
Subject: [PATCH] 为保证正确获取集群状态, 添加程序启动时读取system-service运行状态
---
model/index.go | 55 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/model/index.go b/model/index.go
index 21552fb..1b12699 100644
--- a/model/index.go
+++ b/model/index.go
@@ -4,21 +4,62 @@
"apsClient/conf"
"apsClient/pkg/logx"
"apsClient/pkg/sqlitex"
+ "sync"
)
func Init() error {
- if err := sqlitex.Init(&conf.Conf.Sqlite, logx.GetLogger()); err != nil {
+ if err := sqlitex.Init(&conf.Conf.Sqlite); err != nil {
return err
}
- if err := RegisterTables(); err != nil {
- return err
- }
+ RegisterTables()
+ InsertDefaultData()
return nil
}
-func RegisterTables() error {
+func RegisterTables() {
db := sqlitex.GetDB()
- err := db.AutoMigrate(Order{}, Procedures{})
- return err
+ db.AutoMigrate(
+ Order{},
+ Procedures{},
+ NetConfig{},
+ PlcBrand{},
+ DevicePlc{},
+ ProcessModel{},
+ ProductionProgress{},
+ Device{},
+ TaskStatusSync{},
+ )
+}
+
+type InitDefaultData interface {
+ InitDefaultData(errCh chan<- error, wg *sync.WaitGroup)
+}
+
+func InsertDefaultData() {
+ errCh := make(chan error, 2)
+ var wg sync.WaitGroup
+
+ models := []interface{}{
+ NewNetConfigSearch(nil),
+ NewPlcBrandSearch(),
+ }
+
+ for _, model := range models {
+ if id, ok := model.(InitDefaultData); ok {
+ wg.Add(1)
+ go id.InitDefaultData(errCh, &wg)
+ }
+ }
+
+ go func() {
+ wg.Wait() // 绛夊緟鎵�鏈塯oroutine瀹屾垚
+ close(errCh) // 鍏抽棴閿欒閫氶亾
+ }()
+
+ for err := range errCh {
+ if err != nil {
+ logx.Errorf("InitDefaultData err: %v", err.Error())
+ }
+ }
}
--
Gitblit v1.8.0