wechat-robot/main.go

48 lines
867 B
Go

package main
import (
"gitee.ltd/lxh/wechat-robot/internal/initialize"
"gitee.ltd/lxh/wechat-robot/internal/server"
"gitee.ltd/lxh/wechat-robot/internal/tasks"
"github.com/gofiber/fiber/v2/log"
"os"
"os/signal"
"syscall"
)
func main() {
// 初始化系统
initialize.Init()
// 创建HTTP服务器
srv := server.New()
// 设置路由
srv.SetupRoutes()
// 启动HTTP服务器
go func() {
if err := srv.Start(); err != nil {
log.Errorf("Server error: %v", err)
}
}()
log.Debug("服务器已成功启动")
// 启动定时任务
tasks.Start()
// 优雅关闭
quit := make(chan os.Signal, 1)
signal.Notify(quit, os.Interrupt, syscall.SIGTERM)
<-quit
log.Warn("正在关闭...")
// 关闭HTTP服务器
if err := srv.Shutdown(); err != nil {
log.Fatalf("服务器关闭失败: %v", err)
}
log.Warn("服务器已正确退出")
}