Files
pig-farm-controller/main.go
2025-09-07 21:13:15 +08:00

57 lines
1.3 KiB
Go

// Package main 是猪场控制系统的入口点
// 负责初始化核心应用并管理其生命周期
// @title 猪场管理系统API
// @version 1.0
// @description 猪场管理系统API文档
// @host localhost:8086
// @BasePath /
package main
import (
"os"
"os/signal"
"syscall"
"git.huangwc.com/pig/pig-farm-controller/internal/config"
"git.huangwc.com/pig/pig-farm-controller/internal/core"
"git.huangwc.com/pig/pig-farm-controller/internal/logs"
)
func main() {
// 初始化日志记录器
logger := logs.NewLogger()
// 加载配置
cfg := config.NewConfig()
if err := cfg.Load("config.yml"); err != nil {
logger.Error("配置加载失败: " + err.Error())
os.Exit(1)
}
// 创建核心应用实例
app := core.NewApplication(cfg)
// 启动核心应用
if err := app.Start(); err != nil {
logger.Error("应用启动失败: " + err.Error())
os.Exit(1)
}
// 记录应用启动成功
logger.Info("应用启动成功")
// 等待中断信号以优雅地关闭应用
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
<-sigChan
// 停止核心应用
if err := app.Stop(); err != nil {
logger.Error("应用停止失败: " + err.Error())
os.Exit(1)
}
// 记录应用停止成功
logger.Info("应用停止成功")
}