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)
|
}
|