package main import ( "net/http" "os" "os/signal" "syscall" "time" "wms/conf" "wms/constvar" "wms/models" "wms/pkg/logx" "wms/router" ) func main() { // 读取配置 if err := conf.Init(); err != nil { logx.Errorf("config init error! ", err.Error()) return } // 日志初始化 logx.Init(*conf.LogConf) defer logx.Sync() // 数据库初始化 if err := models.Init(); err != nil { logx.Errorf("db init error! ", err.Error()) return } // 启动APS RPC服务 //safe.Go(service.StartAPServer) go shutdown() logx.Infof("aps-server start serve...") server := &http.Server{ Addr: ":" + conf.WebConf.Port, Handler: router.NewRouter(), ReadTimeout: 5 * time.Second, WriteTimeout: 5 * time.Second, } logx.Error(server.ListenAndServe().Error()) } func shutdown() { 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) }