package main import ( "context" "os" "os/signal" "prompts-core/controller" "syscall" "gitea.com/red-future/common/http" "gitea.com/red-future/common/jaeger" _ "gitea.com/red-future/common/swagger" _ "github.com/gogf/gf/contrib/drivers/pgsql/v2" _ "github.com/gogf/gf/contrib/nosql/redis/v2" "github.com/gogf/gf/v2/frame/g" ) func main() { ctx, cancel := context.WithCancel(context.Background()) defer cancel() defer jaeger.ShutDown(ctx) // 注册路由 http.RouteRegister([]interface{}{ controller.Prompt, controller.Session, }) // 监听退出信号,确保 Ctrl+C 能完整退出并关闭 gateway server quit := make(chan os.Signal, 1) signal.Notify(quit, os.Interrupt, syscall.SIGTERM) <-quit g.Log().Infof(ctx, "[main] 收到退出信号,开始优雅退出...") cancel() _ = http.Httpserver.Shutdown() }