48 lines
867 B
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("服务器已正确退出")
|
|
}
|