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