Files
mayfly-go/server/internal/db/application/application.go

62 lines
1.9 KiB
Go
Raw Normal View History

2022-09-09 18:26:08 +08:00
package application
import (
2024-01-21 22:52:20 +08:00
"mayfly-go/pkg/ioc"
2023-12-27 22:59:20 +08:00
"sync"
)
2022-09-09 18:26:08 +08:00
func InitIoc() {
2024-01-21 22:52:20 +08:00
ioc.Register(new(instanceAppImpl), ioc.WithComponentName("DbInstanceApp"))
ioc.Register(new(dbAppImpl), ioc.WithComponentName("DbApp"))
ioc.Register(new(dbSqlExecAppImpl), ioc.WithComponentName("DbSqlExecApp"))
ioc.Register(new(dbSqlAppImpl), ioc.WithComponentName("DbSqlApp"))
ioc.Register(new(dataSyncAppImpl), ioc.WithComponentName("DbDataSyncTaskApp"))
ioc.Register(new(dbTransferAppImpl), ioc.WithComponentName("DbTransferTaskApp"))
ioc.Register(new(dbTransferFileAppImpl), ioc.WithComponentName("DbTransferFileApp"))
ioc.Register(newDbScheduler(), ioc.WithComponentName("DbScheduler"))
ioc.Register(new(DbBackupApp), ioc.WithComponentName("DbBackupApp"))
ioc.Register(new(DbRestoreApp), ioc.WithComponentName("DbRestoreApp"))
ioc.Register(newDbBinlogApp(), ioc.WithComponentName("DbBinlogApp"))
2024-01-21 22:52:20 +08:00
}
2023-12-27 22:59:20 +08:00
func Init() {
sync.OnceFunc(func() {
//if err := GetDbBackupApp().Init(); err != nil {
// panic(fmt.Sprintf("初始化 DbBackupApp 失败: %v", err))
//}
//if err := GetDbRestoreApp().Init(); err != nil {
// panic(fmt.Sprintf("初始化 DbRestoreApp 失败: %v", err))
//}
//if err := GetDbBinlogApp().Init(); err != nil {
// panic(fmt.Sprintf("初始化 DbBinlogApp 失败: %v", err))
//}
2024-01-21 22:52:20 +08:00
GetDataSyncTaskApp().InitCronJob()
GetDbTransferTaskApp().InitCronJob()
InitDbFlowHandler()
2023-12-27 22:59:20 +08:00
})()
}
func GetDbSqlExecApp() DbSqlExec {
return ioc.Get[DbSqlExec]("DbSqlExecApp")
}
2023-12-27 22:59:20 +08:00
func GetDbBackupApp() *DbBackupApp {
return ioc.Get[*DbBackupApp]("DbBackupApp")
2023-12-27 22:59:20 +08:00
}
func GetDbRestoreApp() *DbRestoreApp {
return ioc.Get[*DbRestoreApp]("DbRestoreApp")
2023-12-27 22:59:20 +08:00
}
func GetDbBinlogApp() *DbBinlogApp {
return ioc.Get[*DbBinlogApp]("DbBinlogApp")
}
func GetDataSyncTaskApp() DataSyncTask {
2024-01-21 22:52:20 +08:00
return ioc.Get[DataSyncTask]("DbDataSyncTaskApp")
}
func GetDbTransferTaskApp() DbTransferTask {
return ioc.Get[DbTransferTask]("DbTransferTaskApp")
}