|
@@ -1,65 +0,0 @@
|
|
|
-package main
|
|
|
-
|
|
|
-import (
|
|
|
- "context"
|
|
|
- "fmt"
|
|
|
- "log"
|
|
|
- "net/http"
|
|
|
- "os"
|
|
|
- "os/signal"
|
|
|
- "time"
|
|
|
-
|
|
|
- "surveyService/cache"
|
|
|
- "surveyService/model"
|
|
|
- "surveyService/router"
|
|
|
- "surveyService/util/validator"
|
|
|
-
|
|
|
- "github.com/joho/godotenv"
|
|
|
- "gogs.uu.mdfitnesscao.com/hys/sdk"
|
|
|
-)
|
|
|
-
|
|
|
-func main() {
|
|
|
- // 加载dotEnv环境
|
|
|
- loadEnvErr := godotenv.Load()
|
|
|
- if loadEnvErr != nil {
|
|
|
- fmt.Println("ENV环境加载Error")
|
|
|
- return
|
|
|
- }
|
|
|
- // 开始初始化数据库
|
|
|
- model.Construct(true)
|
|
|
- // 开始初始化缓存
|
|
|
- cache.InitRedis()
|
|
|
- // 初始化校验器翻译
|
|
|
- validator.Init()
|
|
|
- router := router.Init()
|
|
|
-
|
|
|
- sdk.InitConfig(&sdk.ClientConfig{
|
|
|
- ApiDomain: os.Getenv("API_DOMAIN"),
|
|
|
- AppDebug: os.Getenv("APP_DEBUG") == "true",
|
|
|
- })
|
|
|
-
|
|
|
- srv := &http.Server{
|
|
|
- Addr: ":" + os.Getenv("HTTP_PORT"),
|
|
|
- Handler: router,
|
|
|
- }
|
|
|
-
|
|
|
- go func() {
|
|
|
- // 服务连接
|
|
|
- if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
|
|
- log.Fatalf("服务开启失败: %s\n", err)
|
|
|
- }
|
|
|
- }()
|
|
|
-
|
|
|
- // 等待中断信号以优雅地关闭服务器(设置 5 秒的超时时间)
|
|
|
- quit := make(chan os.Signal)
|
|
|
- signal.Notify(quit, os.Interrupt)
|
|
|
- <-quit
|
|
|
- log.Println("服务关闭中..")
|
|
|
-
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
|
- defer cancel()
|
|
|
- if err := srv.Shutdown(ctx); err != nil {
|
|
|
- log.Fatal("服务关闭异常:", err)
|
|
|
- }
|
|
|
- log.Println("服务已退出")
|
|
|
-}
|