调度中心嵌入cms

This commit is contained in:
vet
2026-05-28 13:29:24 +08:00
parent 52446ccf3f
commit 5f93d025d2
17 changed files with 262 additions and 20 deletions

View File

@@ -14,6 +14,7 @@ import (
storemongo "scheduler-backend/internal/store/mongo"
"scheduler-backend/pkg/config"
"scheduler-backend/pkg/log"
redisclient "scheduler-backend/pkg/redis"
)
func main() {
@@ -31,6 +32,11 @@ func main() {
logger.Error("scheduler api mongo connect failed", "error", err)
os.Exit(1)
}
redisConn, err := redisclient.Connect(rootCtx, cfg)
if err != nil {
logger.Error("scheduler api redis connect failed", "error", err)
os.Exit(1)
}
jobConfigStore := storemongo.NewJobConfigStore(databases.MetaDB)
if err := jobdef.SyncJobConfigs(rootCtx, "job-config-list", jobConfigStore, logger); err != nil {
logger.Error("sync job configs failed", "error", err)
@@ -42,16 +48,18 @@ func main() {
Logger: logger,
MetaDB: databases.MetaDB,
BusinessDB: databases.BusinessDB,
Redis: redisConn,
})
router := api.NewRouter(api.RouterDeps{
Registry: registry,
JobConfigStore: jobConfigStore,
ExecutionStore: storemongo.NewJobExecutionStore(databases.MetaDB),
ProfileStore: storemongo.NewAdminProfileStore(databases.MetaDB),
AdminUserStore: storemongo.NewAdminUserStore(databases.MetaDB),
ConfigStore: storemongo.NewSystemConfigStore(databases.MetaDB),
Executor: execSvc,
Registry: registry,
JobConfigStore: jobConfigStore,
ExecutionStore: storemongo.NewJobExecutionStore(databases.MetaDB),
ProfileStore: storemongo.NewAdminProfileStore(databases.MetaDB),
AdminUserStore: storemongo.NewAdminUserStore(databases.MetaDB),
ConfigStore: storemongo.NewSystemConfigStore(databases.MetaDB),
GlobalConfigStore: storemongo.NewGlobalConfigStore(databases.MetaDB),
Executor: execSvc,
})
logger.Info("scheduler api starting", "addr", addr)
@@ -62,6 +70,7 @@ func main() {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
_ = redisConn.Close()
_ = databases.Client.Disconnect(ctx)
os.Exit(0)
}()

View File

@@ -15,6 +15,7 @@ import (
storemongo "scheduler-backend/internal/store/mongo"
"scheduler-backend/pkg/config"
"scheduler-backend/pkg/log"
redisclient "scheduler-backend/pkg/redis"
"github.com/go-co-op/gocron/v2"
)
@@ -33,6 +34,11 @@ func main() {
logger.Error("scheduler worker mongo connect failed", "error", err)
os.Exit(1)
}
redisConn, err := redisclient.Connect(rootCtx, cfg)
if err != nil {
logger.Error("scheduler worker redis connect failed", "error", err)
os.Exit(1)
}
jobConfigStore := storemongo.NewJobConfigStore(databases.MetaDB)
if err := jobdef.SyncJobConfigs(rootCtx, "job-config-list", jobConfigStore, logger); err != nil {
@@ -45,6 +51,7 @@ func main() {
Logger: logger,
MetaDB: databases.MetaDB,
BusinessDB: databases.BusinessDB,
Redis: redisConn,
}
execSvc := executor.NewService(registry, runtime)
g, err := gocron.NewScheduler()
@@ -99,6 +106,9 @@ func main() {
if err := healthServer.Shutdown(shutdownCtx); err != nil {
logger.Error("scheduler worker health server shutdown failed", "error", err)
}
if err := redisConn.Close(); err != nil {
logger.Error("scheduler worker redis disconnect failed", "error", err)
}
if err := databases.Client.Disconnect(context.Background()); err != nil {
logger.Error("scheduler worker mongo disconnect failed", "error", err)
}