调度中心嵌入cms
This commit is contained in:
@@ -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)
|
||||
}()
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user