up
This commit is contained in:
@@ -5,6 +5,8 @@ import (
|
||||
"log"
|
||||
"meshgo/config"
|
||||
"meshgo/database"
|
||||
"meshgo/http"
|
||||
"meshgo/stats"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
@@ -60,6 +62,10 @@ func main() {
|
||||
if err := server.AddHook(new(meshDBHook), nil); err != nil {
|
||||
log.Fatalf("[main] 注册 payload 数据库 hook 失败: %v", err)
|
||||
}
|
||||
// 注册统计 hook
|
||||
if err := server.AddHook(new(stats.Hook), nil); err != nil {
|
||||
log.Fatalf("[main] 注册统计 hook 失败: %v", err)
|
||||
}
|
||||
|
||||
// 添加 TCP 监听
|
||||
tcpListener := listeners.NewTCP(
|
||||
@@ -81,6 +87,10 @@ func main() {
|
||||
log.Printf("[main] WebSocket 监听已绑定: %s", cfg.Server.WSAddr)
|
||||
}
|
||||
|
||||
// 启动 HTTP 管理界面
|
||||
httpServer := http.New(&cfg.Admin)
|
||||
httpServer.Start()
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
// 5. 启动服务器(阻塞,直到收到退出信号)
|
||||
// ----------------------------------------------------------------
|
||||
@@ -105,6 +115,7 @@ func main() {
|
||||
// 注:监听地址变更需要重启服务,此处仅刷新认证/日志等运行时配置
|
||||
case syscall.SIGINT, syscall.SIGTERM:
|
||||
log.Println("[main] 正在优雅关闭服务…")
|
||||
httpServer.Close() // 关闭 HTTP 管理界面
|
||||
close(database.WriteCh) // 停止异步写入 worker
|
||||
if err := database.Close(); err != nil {
|
||||
log.Printf("[main] 关闭数据库时出错: %v", err)
|
||||
|
||||
Reference in New Issue
Block a user