refactor: own shutdown lifecycle boundaries

This commit is contained in:
jxxghp
2026-08-23 20:20:26 +08:00
parent 59f020f226
commit 7f09927c47
59 changed files with 6393 additions and 958 deletions
+6 -2
View File
@@ -13,8 +13,8 @@
"runtime_to_db": [],
"workflow_to_db": []
},
"edge_count": 6479,
"edge_sha256": "a65f8d4024e2299b37510359c7ffea91219f0aa0ed9673b74a3eb22d51d6c67f",
"edge_count": 6483,
"edge_sha256": "0a2f82ca189468d5e954b06a2c188c4ea5380a76c7c64039c7f6eb843cb60523",
"edges": [
"app -> app.runtime",
"app -> app.runtime.compat",
@@ -5671,6 +5671,7 @@
"app.runtime.extensions.plugin_manager -> app.runtime.observability",
"app.runtime.extensions.plugin_manager -> app.runtime.reload",
"app.runtime.extensions.plugin_manager -> app.runtime.settings",
"app.runtime.extensions.plugin_manager -> app.runtime.thread",
"app.runtime.extensions.plugin_manager -> app.schemas",
"app.runtime.extensions.plugin_manager -> app.schemas.plugin",
"app.runtime.extensions.plugin_manager -> app.schemas.types",
@@ -6086,6 +6087,7 @@
"app.startup.lifecycle -> app.runtime.tasks",
"app.startup.lifecycle -> app.runtime.topology",
"app.startup.lifecycle -> app.startup",
"app.startup.lifecycle -> app.startup.agent_initializer",
"app.startup.lifecycle -> app.startup.cache_initializer",
"app.startup.lifecycle -> app.startup.command_initializer",
"app.startup.lifecycle -> app.startup.database_initializer",
@@ -6218,6 +6220,8 @@
"app.startup.modules_initializer -> app.startup.transaction",
"app.startup.modules_initializer -> app.startup.workflow",
"app.startup.monitor_initializer -> app.monitor",
"app.startup.monitor_initializer -> app.runtime",
"app.startup.monitor_initializer -> app.runtime.execution",
"app.startup.outbox -> app.application",
"app.startup.outbox -> app.application.outbox",
"app.startup.outbox -> app.db",
+140 -132
View File
@@ -1,41 +1,41 @@
{
"schema_version": 2,
"generated_at": "2026-08-23T08:11:40.406030+00:00",
"generated_at": "2026-08-23T11:06:42.858188+00:00",
"platform": "macOS-26.5.2-arm64-arm-64bit-Mach-O",
"python": "3.14.3",
"repeat": 3,
"targets": {
"app.startup.lifecycle": {
"loaded_app_module_count": 362,
"max_ms": 944.347,
"median_ms": 935.035,
"min_ms": 933.625,
"max_ms": 1022.231,
"median_ms": 976.39,
"min_ms": 967.395,
"samples_ms": [
944.347,
935.035,
933.625
1022.231,
967.395,
976.39
]
},
"app.factory": {
"loaded_app_module_count": 374,
"max_ms": 950.655,
"median_ms": 950.429,
"min_ms": 947.964,
"max_ms": 989.21,
"median_ms": 980.605,
"min_ms": 951.564,
"samples_ms": [
950.655,
947.964,
950.429
980.605,
989.21,
951.564
]
},
"app.main": {
"loaded_app_module_count": 376,
"max_ms": 1150.269,
"median_ms": 1103.976,
"min_ms": 1097.978,
"max_ms": 1114.04,
"median_ms": 1088.251,
"min_ms": 1080.26,
"samples_ms": [
1103.976,
1097.978,
1150.269
1080.26,
1088.251,
1114.04
]
}
},
@@ -46,57 +46,26 @@
"samples": [
{
"mode": "normal",
"enabled_component_count": 16,
"startup_ms": 0.721,
"full_lifespan_ms": 0.907,
"stage_ms": {
"后台任务登记器": 0.084,
"数据库准备": 0.038,
"HTTP 基础能力": 0.028,
"领域依赖装配": 0.027,
"数据库引擎预热": 0.024,
"数据库连接预算": 0.024,
"路由": 0.023,
"模块服务": 0.024,
"插件备份恢复": 0.023,
"插件": 0.029,
"定时器": 0.023,
"监控器": 0.024,
"待处理整理回放": 0.021,
"命令服务": 0.025,
"工作流": 0.02,
"插件同步与启动收尾": 0.031
},
"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": 16,
"startup_ms": 0.614,
"full_lifespan_ms": 0.788,
"enabled_component_count": 21,
"startup_ms": 0.619,
"full_lifespan_ms": 0.806,
"stage_ms": {
"后台任务登记器": 0.075,
"数据库准备": 0.037,
"HTTP 基础能力": 0.029,
"HTTP 基础能力": 0.031,
"领域依赖装配": 0.027,
"数据库引擎预热": 0.023,
"数据库连接预算": 0.024,
"路由": 0.023,
"模块服务": 0.023,
"插件备份恢复": 0.023,
"插件": 0.024,
"定时器": 0.025,
"监控器": 0.023,
"待处理整理回放": 0.022,
"命令服务": 0.021,
"数据库引擎预热": 0.024,
"数据库连接预算": 0.025,
"路由": 0.022,
"模块服务": 0.024,
"插件备份恢复": 0.021,
"插件": 0.02,
"定时器": 0.023,
"监控器": 0.021,
"待处理整理回放": 0.019,
"命令服务": 0.022,
"工作流": 0.022,
"插件同步与启动收尾": 0.03
"插件同步与启动收尾": 0.034
},
"threads_before": 2,
"threads_started": 2,
@@ -108,26 +77,57 @@
},
{
"mode": "normal",
"enabled_component_count": 16,
"startup_ms": 0.611,
"full_lifespan_ms": 0.785,
"enabled_component_count": 21,
"startup_ms": 0.628,
"full_lifespan_ms": 0.808,
"stage_ms": {
"后台任务登记器": 0.072,
"数据库准备": 0.033,
"HTTP 基础能力": 0.026,
"后台任务登记器": 0.073,
"数据库准备": 0.037,
"HTTP 基础能力": 0.039,
"领域依赖装配": 0.027,
"数据库引擎预热": 0.025,
"数据库连接预算": 0.025,
"路由": 0.022,
"模块服务": 0.022,
"插件备份恢复": 0.021,
"插件": 0.02,
"定时器": 0.024,
"监控器": 0.022,
"待处理整理回放": 0.029,
"命令服务": 0.02,
"工作流": 0.021,
"插件同步与启动收尾": 0.032
},
"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": 21,
"startup_ms": 0.664,
"full_lifespan_ms": 0.863,
"stage_ms": {
"后台任务登记器": 0.083,
"数据库准备": 0.047,
"HTTP 基础能力": 0.036,
"领域依赖装配": 0.028,
"数据库引擎预热": 0.023,
"数据库连接预算": 0.022,
"路由": 0.024,
"模块服务": 0.02,
"插件备份恢复": 0.023,
"插件": 0.024,
"数据库引擎预热": 0.029,
"数据库连接预算": 0.025,
"路由": 0.026,
"模块服务": 0.025,
"插件备份恢复": 0.025,
"插件": 0.028,
"定时器": 0.026,
"监控器": 0.024,
"待处理整理回放": 0.023,
"监控器": 0.021,
"待处理整理回放": 0.021,
"命令服务": 0.024,
"工作流": 0.022,
"插件同步与启动收尾": 0.031
"工作流": 0.021,
"插件同步与启动收尾": 0.036
},
"threads_before": 2,
"threads_started": 2,
@@ -138,9 +138,9 @@
"database_connections_started": 0
}
],
"median_startup_ms": 0.614,
"median_full_lifespan_ms": 0.788,
"enabled_component_count": 16,
"median_startup_ms": 0.628,
"median_full_lifespan_ms": 0.808,
"enabled_component_count": 21,
"enabled_components": [
"后台任务登记器",
"数据库准备",
@@ -152,8 +152,13 @@
"模块服务",
"插件备份恢复",
"插件",
"插件变更监控",
"定时器",
"监控器",
"整理后台服务",
"AI智能体会话",
"插件后台服务",
"事件投递屏障",
"待处理整理回放",
"命令服务",
"工作流",
@@ -164,19 +169,19 @@
"samples": [
{
"mode": "safe",
"enabled_component_count": 8,
"startup_ms": 0.463,
"full_lifespan_ms": 0.667,
"enabled_component_count": 11,
"startup_ms": 0.464,
"full_lifespan_ms": 0.637,
"stage_ms": {
"后台任务登记器": 0.075,
"数据库准备": 0.035,
"后台任务登记器": 0.074,
"数据库准备": 0.038,
"HTTP 基础能力": 0.03,
"领域依赖装配": 0.032,
"数据库引擎预热": 0.024,
"数据库连接预算": 0.022,
"路由": 0.025,
"模块服务": 0.022,
"插件同步与启动收尾": 0.058
"领域依赖装配": 0.029,
"数据库引擎预热": 0.026,
"数据库连接预算": 0.025,
"路由": 0.024,
"模块服务": 0.024,
"插件同步与启动收尾": 0.033
},
"threads_before": 2,
"threads_started": 2,
@@ -188,43 +193,43 @@
},
{
"mode": "safe",
"enabled_component_count": 8,
"startup_ms": 0.474,
"full_lifespan_ms": 0.68,
"enabled_component_count": 11,
"startup_ms": 0.451,
"full_lifespan_ms": 0.624,
"stage_ms": {
"后台任务登记器": 0.076,
"数据库准备": 0.043,
"HTTP 基础能力": 0.029,
"领域依赖装配": 0.028,
"后台任务登记器": 0.073,
"数据库准备": 0.035,
"HTTP 基础能力": 0.028,
"领域依赖装配": 0.027,
"数据库引擎预热": 0.024,
"数据库连接预算": 0.023,
"路由": 0.023,
"模块服务": 0.02,
"插件同步与启动收尾": 0.031
},
"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": 11,
"startup_ms": 0.477,
"full_lifespan_ms": 0.661,
"stage_ms": {
"后台任务登记器": 0.081,
"数据库准备": 0.05,
"HTTP 基础能力": 0.035,
"领域依赖装配": 0.03,
"数据库引擎预热": 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": 8,
"startup_ms": 0.454,
"full_lifespan_ms": 0.657,
"stage_ms": {
"后台任务登记器": 0.075,
"数据库准备": 0.036,
"HTTP 基础能力": 0.028,
"领域依赖装配": 0.028,
"数据库引擎预热": 0.025,
"数据库连接预算": 0.024,
"路由": 0.024,
"模块服务": 0.024,
"插件同步与启动收尾": 0.06
"模块服务": 0.02,
"插件同步与启动收尾": 0.026
},
"threads_before": 2,
"threads_started": 2,
@@ -235,9 +240,9 @@
"database_connections_started": 0
}
],
"median_startup_ms": 0.463,
"median_full_lifespan_ms": 0.667,
"enabled_component_count": 8,
"median_startup_ms": 0.464,
"median_full_lifespan_ms": 0.637,
"enabled_component_count": 11,
"enabled_components": [
"后台任务登记器",
"数据库准备",
@@ -246,7 +251,10 @@
"数据库引擎预热",
"数据库连接预算",
"路由",
"模块服务"
"模块服务",
"整理后台服务",
"AI智能体会话",
"事件投递屏障"
]
}
}