zhangzengfei
2024-10-20 c8a641dd784c071f83a0d90c35f617607fd0811b
main.go
@@ -3,13 +3,15 @@
import (
   "context"
   "fmt"
   "gat1400Exchange/nvcs"
   "net/http"
   "os"
   "os/signal"
   "syscall"
   "time"
   "gat1400Exchange/client"
   "gat1400Exchange/config"
   "gat1400Exchange/cron"
   "gat1400Exchange/models"
   "gat1400Exchange/pkg/logger"
   "gat1400Exchange/routes"
@@ -36,9 +38,7 @@
      Handler: r,
   }
   // 启动网络视频字符叠加器服务
   go service.NVCSServer()
   go service.DeviceInfoReportTask()
   srv.SetKeepAlivesEnabled(config.ServeConf.Keepalive)
   // Initializing the server in a goroutine so that
   // it won't block the graceful shutdown handling below
@@ -49,6 +49,18 @@
   }()
   logger.Info("Server is running at %s:%s", host, port)
   // 启动1400客户端
   ctx, cancel := context.WithCancel(context.Background())
   go client.Init1400Client(ctx)
   // 启动网络视频字符叠加器服务
   go nvcs.StartNVCSServer()
   go service.InitSubscribeNotificationTasks()
   // 启动定时任务
   cron.Init()
   // Wait for interrupt signal to gracefully shutdown the server with
   // a timeout of 5 seconds.
@@ -62,11 +74,13 @@
   // The context is used to inform the server it has 5 seconds to finish
   // the request it is currently handling
   ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
   defer cancel()
   //ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
   cancel()
   if err := srv.Shutdown(ctx); err != nil {
      logger.Error("Server forced to shutdown:", err)
   }
   service.StopNotificationTasks()
   logger.Info("Server exiting!")
}