package main
|
|
import (
|
"apsClient/conf"
|
"apsClient/crontask"
|
"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
|
}
|
|
if err := crontask.InitTask(); err != nil {
|
logx.Errorf("crontab task 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)
|
}
|