实现基础web服务器
This commit is contained in:
43
main.go
43
main.go
@@ -2,9 +2,50 @@
|
||||
// 负责初始化核心应用并管理其生命周期
|
||||
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() {
|
||||
// TODO: 实现主函数逻辑
|
||||
// 初始化日志记录器
|
||||
logger := logs.NewLogger()
|
||||
|
||||
// 加载配置
|
||||
cfg := config.NewConfig()
|
||||
if err := cfg.Load("config.yml"); err != nil {
|
||||
logger.Error("Failed to load config: " + err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// 创建核心应用实例
|
||||
app := core.NewApplication(cfg)
|
||||
|
||||
// 启动核心应用
|
||||
if err := app.Start(); err != nil {
|
||||
logger.Error("Failed to start application: " + err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// 记录应用启动成功
|
||||
logger.Info("Application started successfully")
|
||||
|
||||
// 等待中断信号以优雅地关闭应用
|
||||
sigChan := make(chan os.Signal, 1)
|
||||
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
|
||||
<-sigChan
|
||||
|
||||
// 停止核心应用
|
||||
if err := app.Stop(); err != nil {
|
||||
logger.Error("Failed to stop application: " + err.Error())
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// 记录应用停止成功
|
||||
logger.Info("Application stopped successfully")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user