campus-supervision/main.go

52 lines
1016 B
Go
Raw Permalink Normal View History

2023-12-29 04:58:20 +00:00
package main
import (
"context"
"os"
"os/signal"
"time"
"github.com/sirupsen/logrus"
"myschools.me/tcq/campus-supervision/gin"
"myschools.me/tcq/campus-supervision/mysql"
)
func main() {
// mysql初始化
mysql.Init(&mysql.Config{
ConnString: os.Getenv("MYSQL_HOST"),
ConnMaxLifetime: 5,
MaxIdleConns: 5,
MaxOpenConns: 500,
InitTable: true,
})
// table init
if err := mysql.InitTable(); err != nil {
logrus.WithFields(logrus.Fields{
"func": "main",
}).Warnf("mysql.InitTable(): %s", err.Error())
panic(err)
}
//gin初始化,基于docker部署不再需要调整默认值(80)
gin.Service(&gin.Config{
RootPath: "/api",
Addr: "0.0.0.0",
Port: 8080,
})
// 服务停止相应
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt)
<-c
_, cancel := context.WithTimeout(context.Background(), 15*time.Second)
defer cancel()
logrus.WithFields(logrus.Fields{
"func": "main",
}).Infof("campus-srv service shutting down")
os.Exit(0)
}