package main import ( v1 "aps_crm/api/v1" "aps_crm/conf" "aps_crm/initialize" "aps_crm/middleware" "aps_crm/model" "aps_crm/pkg/logx" "aps_crm/router" "fmt" "net/http" "os" "os/signal" "syscall" "time" ) func main() { logx.Init(conf.Conf.Log) defer logx.Sync() //cont := service.NewContainer(service.Type_Container_Docker) //err := cont.Init("123456") //if err != nil { // logx.Errorf("NewContainer Init err:%v", err) // return //} if err := model.Init(); err != nil { logx.Errorf("model Init err:%v", err) return } if err := initialize.Init(); err != nil { logx.Errorf("initialize Init err:%v", err) return } go shutdown() logx.Infof("aps-crm start serve...") server := &http.Server{ Addr: fmt.Sprintf(":%d", conf.Conf.System.Port), Handler: router.InitRouter(), ReadTimeout: 5 * time.Second, WriteTimeout: 5 * time.Second, } go v1.InitProductServiceConn() go middleware.InitUserConn() //c := cron.New() //c.AddFunc("@every 15s", service.SyncUserInfo) // 每15秒同步一次 //c.Start() 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 v1.CloseProductServiceConn() middleware.CloseUserConn() logx.Infof("aps-crm exited...") os.Exit(0) }