package main import ( "apsClient/conf" "apsClient/model" "apsClient/nsq" "apsClient/pkg/logx" "apsClient/router" "fmt" "net/http" "os" "os/signal" "syscall" "time" ) func main() { logx.Init(conf.Conf.Log) defer logx.Sync() if err := model.Init(); err != nil { logx.Errorf("model Init err:%v", err) return } if err := nsq.Init(); err != nil { logx.Errorf("nsq Init err:%v", err) return } go shutdown() logx.Infof("apsClient start serve...") server := &http.Server{ Addr: fmt.Sprintf(":%d", conf.Conf.System.Port), Handler: router.InitRouter(), 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 logx.Infof("apsClient exited...") os.Exit(0) }