优化结构
This commit is contained in:
+26
-1
@@ -10,6 +10,11 @@ import (
|
||||
|
||||
"kra/internal/app"
|
||||
"kra/internal/config"
|
||||
"kra/internal/data"
|
||||
"kra/internal/global"
|
||||
mqintegration "kra/internal/integration/mq"
|
||||
"kra/internal/integration/storage"
|
||||
websocketintegration "kra/internal/integration/websocket"
|
||||
"kra/internal/server/router"
|
||||
"kra/internal/service"
|
||||
"kra/internal/service/dto"
|
||||
@@ -51,7 +56,27 @@ func runtimeContributions(systemRoutes *router.Routes, systemTasks *worker.TaskM
|
||||
}
|
||||
}
|
||||
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *service.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client) *kratos.App {
|
||||
func installGlobalResources(logger *slog.Logger, dataStore *data.Data, fileStorage *storage.Reloadable, broker *mqintegration.Reloadable, websocket *websocketintegration.Server, scheduler *worker.TaskScheduler) *global.ResourceRegistry {
|
||||
install := func() {
|
||||
global.Install(global.Resources{
|
||||
Logger: logger,
|
||||
DB: dataStore.DB(),
|
||||
NamedDBs: dataStore.NamedDatabases(),
|
||||
Redis: dataStore.RedisClient(),
|
||||
NamedRedis: dataStore.NamedRedisClients(),
|
||||
Mongo: dataStore.MongoClient(),
|
||||
Storage: fileStorage,
|
||||
MQ: broker,
|
||||
WebSocket: websocket,
|
||||
Scheduler: scheduler,
|
||||
})
|
||||
}
|
||||
dataStore.SetResourceHook(install)
|
||||
install()
|
||||
return global.DefaultRegistry()
|
||||
}
|
||||
|
||||
func newApp(logger *slog.Logger, hs *kratoshttp.Server, scheduler *worker.TaskScheduler, audit *service.AuditRecorder, loggerControl *logging.ReloadableLogger, _ mq.Client, _ *global.ResourceRegistry) *kratos.App {
|
||||
if audit != nil && loggerControl != nil {
|
||||
loggerControl.SetErrorSink(logging.ErrorSinkFunc(func(ctx context.Context, entry logging.ErrorEntry) error {
|
||||
return audit.CreateErrorRequest(ctx, &dto.ErrorRecordRequest{Form: entry.Form, Info: entry.Info, Level: entry.Level, RequestID: entry.RequestID, TraceID: entry.TraceID})
|
||||
|
||||
@@ -50,6 +50,7 @@ func wireApp(*config.Server, *config.Store, *slog.Logger, *logging.ReloadableLog
|
||||
wire.Bind(new(taskbiz.TaskMethodRegistry), new(*platformtask.Registry)),
|
||||
biz.ProviderSet,
|
||||
service.ProviderSet,
|
||||
installGlobalResources,
|
||||
newApp,
|
||||
))
|
||||
}
|
||||
|
||||
Generated
+2
-1
@@ -184,7 +184,8 @@ func wireApp(configServer *config.Server, store *config.Store, logger *slog.Logg
|
||||
cleanup()
|
||||
return nil, nil, err
|
||||
}
|
||||
kratosApp := newApp(logger, httpServer, taskScheduler, v3, reloadableLogger, mqReloadable)
|
||||
resourceRegistry := installGlobalResources(logger, dataData, reloadable, mqReloadable, websocketServer, taskScheduler)
|
||||
kratosApp := newApp(logger, httpServer, taskScheduler, v3, reloadableLogger, mqReloadable, resourceRegistry)
|
||||
return kratosApp, func() {
|
||||
cleanup3()
|
||||
cleanup2()
|
||||
|
||||
Reference in New Issue
Block a user