Files
hk4e/dispatch/cmd/main.go
huangxiaolei 43403202b5 优化架构
2022-11-23 18:05:11 +08:00

43 lines
765 B
Go

package main
import (
"hk4e/common/config"
"hk4e/dispatch/controller"
"hk4e/dispatch/dao"
"hk4e/logger"
_ "net/http/pprof"
"os"
"os/signal"
"syscall"
"time"
)
func main() {
filePath := "./application.toml"
config.InitConfig(filePath)
logger.InitLogger("dispatch")
logger.LOG.Info("dispatch start")
db := dao.NewDao()
_ = controller.NewController(db)
c := make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
for {
s := <-c
logger.LOG.Info("get a signal %s", s.String())
switch s {
case syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT:
logger.LOG.Info("dispatch exit")
db.CloseDao()
time.Sleep(time.Second)
return
case syscall.SIGHUP:
default:
return
}
}
}