From 8546acdc2a1f06253f30e0543fc202ebf5219bd0 Mon Sep 17 00:00:00 2001 From: wangpengfei <274878379@qq.com> Date: 星期五, 18 八月 2023 16:31:40 +0800 Subject: [PATCH] fix --- model/index.go | 24 +++++++++++++++++++----- 1 files changed, 19 insertions(+), 5 deletions(-) diff --git a/model/index.go b/model/index.go index 7bd2e13..7a9f652 100644 --- a/model/index.go +++ b/model/index.go @@ -5,7 +5,7 @@ "aps_crm/pkg/logx" "aps_crm/pkg/mysqlx" "aps_crm/pkg/safe" - "gorm.io/gorm/schema" + "sync" ) func Init() error { @@ -94,10 +94,13 @@ } type InitDefaultData interface { - InitDefaultData() error + InitDefaultData(errCh chan<- error, wg *sync.WaitGroup) } func InsertDefaultData() { + errCh := make(chan error, 2) + var wg sync.WaitGroup + models := []interface{}{ NewServiceTypeSearch(), NewPriorityLevelSearch(), @@ -115,11 +118,22 @@ NewTimelyRateSearch(), NewFaultTypeSearch(), } + for _, model := range models { if id, ok := model.(InitDefaultData); ok { - if err := id.InitDefaultData(); err != nil { - logx.Errorf("InitDefaultData for table: %v, err :%v", model.(schema.Tabler).TableName(), err.Error()) - } + 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