From 313617ceb05dd5194d2091c717a25cbf33ef39b9 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期五, 24 十一月 2023 14:39:25 +0800 Subject: [PATCH] 新增history加入索引 --- main.go | 64 +++++++++++++++++++++++++++---- 1 files changed, 55 insertions(+), 9 deletions(-) diff --git a/main.go b/main.go index caf375b..91c2eeb 100644 --- a/main.go +++ b/main.go @@ -1,16 +1,25 @@ package main import ( + "context" + "fmt" + "google.golang.org/grpc" + "net" "net/http" "os" "os/signal" "syscall" "time" "wms/conf" - "wms/constvar" + "wms/controllers" "wms/models" "wms/pkg/logx" + "wms/proto/client" + "wms/proto/product_inventory" + "wms/proto/purchase_wms" + "wms/proto/supplier" "wms/router" + "wms/service" ) func main() { @@ -30,10 +39,6 @@ return } - // 鍚姩APS RPC鏈嶅姟 - //safe.Go(service.StartAPServer) - - go shutdown() logx.Infof("aps-server start serve...") server := &http.Server{ Addr: ":" + conf.WebConf.Port, @@ -41,16 +46,57 @@ ReadTimeout: 5 * time.Second, WriteTimeout: 5 * time.Second, } + go shutdown(server) + //鍚姩grpc瀹㈡埛绔� + go controllers.InitInventoryOrderServiceConn() + go controllers.InitProductInventoryServiceConn() + go controllers.InitCodeServiceConn() + go supplier.InitConn() + go client.InitConn() + //鍚姩grpc鏈嶅姟 + go func() { + ln, err := net.Listen("tcp", ":"+conf.WebConf.GrpcPort) + if err != nil { + logx.Errorf("grpc server init error: %v", err.Error()) + panic(fmt.Sprintf("grpc server init error: %v", err.Error())) + } + fmt.Println("-----------鐩戝惉绔彛: ", conf.WebConf.GrpcPort) + s := grpc.NewServer() + //todo 娣诲姞鍏蜂綋鏈嶅姟 + product_inventory.RegisterProductInventoryServiceServer(s, &product_inventory.Server{}) + purchase_wms.RegisterPurchaseServiceServer(s, &purchase_wms.Server{}) + err = s.Serve(ln) + if err != nil { + logx.Errorf("grpc server init error: %v", err.Error()) + panic(fmt.Sprintf("grpc server init error: %v", err.Error())) + } + }() + + go service.InitLocationReportData() + go service.InitHistoryReportData() logx.Error(server.ListenAndServe().Error()) } -func shutdown() { +func shutdown(server *http.Server) { quit := make(chan os.Signal, 1) signal.Notify(quit, syscall.SIGKILL, syscall.SIGQUIT, syscall.SIGINT, syscall.SIGTERM) <-quit - _ = constvar.GrpcClient.Close() - logx.Infof("aps-server exited...") - os.Exit(0) + logx.Infof("server exiting...") + // 鍒涘缓涓�涓笂涓嬫枃锛岃缃秴鏃舵椂闂� + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + controllers.CloseInventoryOrderServiceConn() + controllers.CloseProductInventoryServiceConn() + controllers.CloseCodeServiceConn() + supplier.CloseConn() + client.CloseConn() + // 鍏抽棴HTTP鏈嶅姟鍣� + if err := server.Shutdown(ctx); err != nil { + logx.Infof("鏈嶅姟浼橀泤閫�鍑哄け璐�: %v", err) + return + } + logx.Infof("server exited") } -- Gitblit v1.8.0