2026-04-02 11:51:44 +08:00
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
2026-06-01 14:08:17 +08:00
|
|
|
|
"dataengine/controller/debug"
|
2026-04-30 13:45:41 +08:00
|
|
|
|
"dataengine/controller/dict"
|
2026-06-11 13:06:54 +08:00
|
|
|
|
"dataengine/controller/public"
|
|
|
|
|
|
reportCtrl "dataengine/controller/report"
|
2026-05-29 18:39:32 +08:00
|
|
|
|
syncCtrl "dataengine/controller/sync"
|
|
|
|
|
|
syncSvc "dataengine/service/sync"
|
2026-06-11 13:06:54 +08:00
|
|
|
|
"os"
|
|
|
|
|
|
"os/signal"
|
|
|
|
|
|
"syscall"
|
2026-04-02 11:51:44 +08:00
|
|
|
|
|
2026-06-10 15:56:02 +08:00
|
|
|
|
"gitea.redpowerfuture.com/red-future/common/http"
|
|
|
|
|
|
"gitea.redpowerfuture.com/red-future/common/jaeger"
|
|
|
|
|
|
_ "gitea.redpowerfuture.com/red-future/common/k3sconfig"
|
2026-04-02 11:51:44 +08:00
|
|
|
|
_ "github.com/gogf/gf/contrib/drivers/pgsql/v2"
|
|
|
|
|
|
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
2026-06-01 14:08:17 +08:00
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
2026-06-11 13:06:54 +08:00
|
|
|
|
"github.com/gogf/gf/v2/os/gctx"
|
|
|
|
|
|
"github.com/sirupsen/logrus"
|
2026-04-02 11:51:44 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func main() {
|
2026-06-11 13:06:54 +08:00
|
|
|
|
ctx := gctx.New()
|
2026-04-02 11:51:44 +08:00
|
|
|
|
defer jaeger.ShutDown(ctx)
|
|
|
|
|
|
|
2026-05-29 18:39:32 +08:00
|
|
|
|
// 启动自动同步(后台循环执行,首次全量后续增量)
|
|
|
|
|
|
syncSvc.InitAndStartAutoSync(ctx)
|
|
|
|
|
|
|
2026-04-02 11:51:44 +08:00
|
|
|
|
http.RouteRegister([]interface{}{
|
|
|
|
|
|
// 接口管理
|
|
|
|
|
|
dict.ApiInterface,
|
|
|
|
|
|
dict.DatasourcePlatform,
|
2026-05-29 18:39:32 +08:00
|
|
|
|
// 平台同步引擎
|
|
|
|
|
|
syncCtrl.PlatformSyncController,
|
2026-06-11 13:06:54 +08:00
|
|
|
|
// 公共查询接口
|
|
|
|
|
|
public.PublicQuery,
|
|
|
|
|
|
// 报表引擎 CRUD API
|
|
|
|
|
|
reportCtrl.ReportController,
|
2026-04-02 11:51:44 +08:00
|
|
|
|
})
|
2026-06-01 14:08:17 +08:00
|
|
|
|
|
|
|
|
|
|
// 管理后台页面
|
|
|
|
|
|
g.Server().BindHandler("/admin", debug.DebugController.DebugPage)
|
2026-06-11 13:06:54 +08:00
|
|
|
|
// 报表引擎管理页面
|
|
|
|
|
|
g.Server().BindHandler("/admin/report", reportCtrl.ReportAdminPage)
|
2026-06-01 14:08:17 +08:00
|
|
|
|
|
2026-06-11 13:06:54 +08:00
|
|
|
|
// 捕获退出信号,实现优雅关闭
|
|
|
|
|
|
quit := make(chan os.Signal, 1)
|
|
|
|
|
|
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
|
|
|
|
|
|
sig := <-quit
|
|
|
|
|
|
logrus.Infof("收到信号 %v,正在退出...", sig)
|
2026-04-02 11:51:44 +08:00
|
|
|
|
}
|