refactor: unify database readiness lifecycle

This commit is contained in:
jxxghp
2026-08-21 20:07:07 +08:00
parent bb57b22975
commit dd1c4c3279
24 changed files with 592 additions and 268 deletions
+11 -5
View File
@@ -13,8 +13,8 @@
"runtime_to_db": [],
"workflow_to_db": []
},
"edge_count": 6080,
"edge_sha256": "57d091e93986ca0d8e8a93a300c3c6d0eb0c2bfe92fda747cffd829cc3c25cab",
"edge_count": 6084,
"edge_sha256": "0dbce22b56284b845591fd38771a96c937ec898db7e9d1aece1ec47ceff8de04",
"edges": [
"app -> app.runtime",
"app -> app.runtime.compat",
@@ -151,6 +151,8 @@
"app.adapters.system.rust -> app.runtime",
"app.adapters.system.rust -> app.runtime.config",
"app.adapters.system.rust -> app.runtime.log",
"app.adapters.web.health -> app.runtime",
"app.adapters.web.health -> app.runtime.health",
"app.adapters.web.security.access -> app.runtime",
"app.adapters.web.security.access -> app.runtime.cache",
"app.adapters.web.security.access -> app.runtime.config",
@@ -3608,6 +3610,7 @@
"app.domain.title -> app.schemas.types",
"app.factory -> app.adapters",
"app.factory -> app.adapters.web",
"app.factory -> app.adapters.web.health",
"app.factory -> app.adapters.web.plugin",
"app.factory -> app.adapters.web.plugin.routes",
"app.factory -> app.adapters.web.security",
@@ -3639,8 +3642,6 @@
"app.main -> app.runtime",
"app.main -> app.runtime.config",
"app.main -> app.runtime.topology",
"app.main -> app.startup",
"app.main -> app.startup.database_initializer",
"app.modules -> app.runtime",
"app.modules -> app.runtime.extensions",
"app.modules -> app.runtime.extensions.service_config",
@@ -5713,6 +5714,7 @@
"app.startup.database -> app.runtime",
"app.startup.database -> app.runtime.config",
"app.startup.database_initializer -> app.db",
"app.startup.database_initializer -> app.db.base",
"app.startup.database_initializer -> app.db.engine",
"app.startup.database_initializer -> app.db.models",
"app.startup.database_initializer -> app.runtime",
@@ -5750,12 +5752,14 @@
"app.startup.lifecycle -> app.db.engine",
"app.startup.lifecycle -> app.runtime",
"app.startup.lifecycle -> app.runtime.config",
"app.startup.lifecycle -> app.runtime.health",
"app.startup.lifecycle -> app.runtime.log",
"app.startup.lifecycle -> app.runtime.state",
"app.startup.lifecycle -> app.runtime.topology",
"app.startup.lifecycle -> app.startup",
"app.startup.lifecycle -> app.startup.cache_initializer",
"app.startup.lifecycle -> app.startup.command_initializer",
"app.startup.lifecycle -> app.startup.database_initializer",
"app.startup.lifecycle -> app.startup.domain_initializer",
"app.startup.lifecycle -> app.startup.lifecycle.components",
"app.startup.lifecycle -> app.startup.modules_initializer",
@@ -6097,7 +6101,7 @@
"app.workflow.actions.transfer_file -> app.workflow",
"app.workflow.actions.transfer_file -> app.workflow.actions"
],
"module_count": 754,
"module_count": 756,
"modules": [
"app",
"app.adapters",
@@ -6137,6 +6141,7 @@
"app.adapters.system.rust",
"app.adapters.system.stdio",
"app.adapters.web",
"app.adapters.web.health",
"app.adapters.web.plugin",
"app.adapters.web.plugin.routes",
"app.adapters.web.security",
@@ -6746,6 +6751,7 @@
"app.runtime.extensions.plugin_manager",
"app.runtime.extensions.service_config",
"app.runtime.gc",
"app.runtime.health",
"app.runtime.localization",
"app.runtime.log",
"app.runtime.managed_resources",
+162 -156
View File
@@ -1,41 +1,41 @@
{
"schema_version": 1,
"generated_at": "2026-08-21T11:45:07.622632+00:00",
"generated_at": "2026-08-21T12:02:30.246931+00:00",
"platform": "macOS-26.5.2-arm64-arm-64bit",
"python": "3.12.6",
"repeat": 3,
"targets": {
"app.startup.lifecycle": {
"loaded_module_count": 1809,
"max_ms": 1023.29,
"median_ms": 1018.356,
"min_ms": 992.011,
"loaded_module_count": 1810,
"max_ms": 987.312,
"median_ms": 984.741,
"min_ms": 983.917,
"samples_ms": [
1023.29,
1018.356,
992.011
987.312,
984.741,
983.917
]
},
"app.factory": {
"loaded_module_count": 1818,
"max_ms": 1058.352,
"median_ms": 1048.27,
"min_ms": 1045.441,
"loaded_module_count": 1820,
"max_ms": 1015.426,
"median_ms": 999.369,
"min_ms": 996.521,
"samples_ms": [
1058.352,
1048.27,
1045.441
996.521,
999.369,
1015.426
]
},
"app.main": {
"loaded_module_count": 1961,
"max_ms": 1316.051,
"median_ms": 1144.056,
"min_ms": 1138.523,
"loaded_module_count": 1844,
"max_ms": 1057.647,
"median_ms": 1037.08,
"min_ms": 1034.011,
"samples_ms": [
1138.523,
1316.051,
1144.056
1057.647,
1034.011,
1037.08
]
}
},
@@ -46,132 +46,24 @@
"samples": [
{
"mode": "normal",
"enabled_component_count": 14,
"startup_ms": 0.566,
"full_lifespan_ms": 0.67,
"stage_ms": {
"HTTP 基础能力": 0.077,
"领域依赖装配": 0.038,
"数据库引擎预热": 0.028,
"数据库连接预算": 0.025,
"路由": 0.022,
"模块服务": 0.022,
"插件备份恢复": 0.022,
"插件": 0.021,
"定时器": 0.022,
"监控器": 0.022,
"待处理整理回放": 0.023,
"命令服务": 0.022,
"工作流": 0.022,
"插件同步与启动收尾": 0.035
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "normal",
"enabled_component_count": 14,
"startup_ms": 0.574,
"enabled_component_count": 15,
"startup_ms": 0.569,
"full_lifespan_ms": 0.669,
"stage_ms": {
"HTTP 基础能力": 0.08,
"领域依赖装配": 0.036,
"数据库准备": 0.08,
"HTTP 基础能力": 0.035,
"领域依赖装配": 0.028,
"数据库引擎预热": 0.029,
"数据库连接预算": 0.027,
"路由": 0.027,
"模块服务": 0.023,
"插件备份恢复": 0.022,
"插件": 0.02,
"定时器": 0.02,
"监控器": 0.023,
"待处理整理回放": 0.025,
"命令服务": 0.023,
"工作流": 0.023,
"插件同步与启动收尾": 0.03
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "normal",
"enabled_component_count": 14,
"startup_ms": 0.571,
"full_lifespan_ms": 0.678,
"stage_ms": {
"HTTP 基础能力": 0.077,
"领域依赖装配": 0.036,
"数据库引擎预热": 0.028,
"数据库连接预算": 0.029,
"路由": 0.025,
"模块服务": 0.022,
"插件备份恢复": 0.022,
"插件": 0.023,
"定时器": 0.023,
"数据库连接预算": 0.025,
"路由": 0.024,
"模块服务": 0.024,
"插件备份恢复": 0.023,
"插件": 0.021,
"定时器": 0.019,
"监控器": 0.022,
"待处理整理回放": 0.021,
"命令服务": 0.023,
"工作流": 0.022,
"插件同步与启动收尾": 0.036
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
}
],
"median_startup_ms": 0.571,
"median_full_lifespan_ms": 0.67,
"enabled_component_count": 14
},
"safe": {
"samples": [
{
"mode": "safe",
"enabled_component_count": 6,
"startup_ms": 0.419,
"full_lifespan_ms": 0.523,
"stage_ms": {
"HTTP 基础能力": 0.082,
"领域依赖装配": 0.04,
"数据库引擎预热": 0.031,
"数据库连接预算": 0.029,
"路由": 0.025,
"模块服务": 0.022,
"插件同步与启动收尾": 0.037
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 6,
"startup_ms": 0.488,
"full_lifespan_ms": 0.582,
"stage_ms": {
"HTTP 基础能力": 0.078,
"领域依赖装配": 0.036,
"数据库引擎预热": 0.03,
"数据库连接预算": 0.027,
"路由": 0.024,
"模块服务": 0.022,
"命令服务": 0.019,
"工作流": 0.021,
"插件同步与启动收尾": 0.032
},
"threads_before": 2,
@@ -183,18 +75,56 @@
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 6,
"startup_ms": 0.41,
"full_lifespan_ms": 0.538,
"mode": "normal",
"enabled_component_count": 15,
"startup_ms": 0.548,
"full_lifespan_ms": 0.641,
"stage_ms": {
"HTTP 基础能力": 0.076,
"领域依赖装配": 0.034,
"数据库准备": 0.071,
"HTTP 基础能力": 0.033,
"领域依赖装配": 0.032,
"数据库引擎预热": 0.028,
"数据库连接预算": 0.026,
"路由": 0.025,
"模块服务": 0.024,
"插件同步与启动收尾": 0.06
"数据库连接预算": 0.025,
"路由": 0.022,
"模块服务": 0.023,
"插件备份恢复": 0.019,
"插件": 0.02,
"定时器": 0.022,
"监控器": 0.024,
"待处理整理回放": 0.019,
"命令服务": 0.022,
"工作流": 0.022,
"插件同步与启动收尾": 0.028
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "normal",
"enabled_component_count": 15,
"startup_ms": 0.687,
"full_lifespan_ms": 0.795,
"stage_ms": {
"数据库准备": 0.083,
"HTTP 基础能力": 0.035,
"领域依赖装配": 0.028,
"数据库引擎预热": 0.033,
"数据库连接预算": 0.027,
"路由": 0.021,
"模块服务": 0.019,
"插件备份恢复": 0.064,
"插件": 0.032,
"定时器": 0.025,
"监控器": 0.028,
"待处理整理回放": 0.025,
"命令服务": 0.024,
"工作流": 0.024,
"插件同步与启动收尾": 0.037
},
"threads_before": 2,
"threads_started": 2,
@@ -205,9 +135,85 @@
"database_connections_started": 0
}
],
"median_startup_ms": 0.419,
"median_full_lifespan_ms": 0.538,
"enabled_component_count": 6
"median_startup_ms": 0.569,
"median_full_lifespan_ms": 0.669,
"enabled_component_count": 15
},
"safe": {
"samples": [
{
"mode": "safe",
"enabled_component_count": 7,
"startup_ms": 0.408,
"full_lifespan_ms": 0.531,
"stage_ms": {
"数据库准备": 0.077,
"HTTP 基础能力": 0.035,
"领域依赖装配": 0.028,
"数据库引擎预热": 0.026,
"数据库连接预算": 0.024,
"路由": 0.024,
"模块服务": 0.024,
"插件同步与启动收尾": 0.057
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 7,
"startup_ms": 0.416,
"full_lifespan_ms": 0.534,
"stage_ms": {
"数据库准备": 0.079,
"HTTP 基础能力": 0.036,
"领域依赖装配": 0.029,
"数据库引擎预热": 0.027,
"数据库连接预算": 0.026,
"路由": 0.026,
"模块服务": 0.021,
"插件同步与启动收尾": 0.054
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 7,
"startup_ms": 0.397,
"full_lifespan_ms": 0.52,
"stage_ms": {
"数据库准备": 0.07,
"HTTP 基础能力": 0.033,
"领域依赖装配": 0.026,
"数据库引擎预热": 0.027,
"数据库连接预算": 0.029,
"路由": 0.024,
"模块服务": 0.022,
"插件同步与启动收尾": 0.051
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 2,
"tasks_after": 1,
"database_connections_started": 0
}
],
"median_startup_ms": 0.408,
"median_full_lifespan_ms": 0.531,
"enabled_component_count": 7
}
}
}