refactor(chain): type download and media server ports

This commit is contained in:
jxxghp
2026-08-28 07:47:37 +08:00
parent c3f115d4fb
commit 5fb62108ab
25 changed files with 1262 additions and 331 deletions
+3 -3
View File
@@ -1,8 +1,8 @@
{
"application": {
"covered_lines": 10084,
"percent": 78.89,
"statements": 12782
"covered_lines": 10133,
"percent": 78.95,
"statements": 12834
},
"domain": {
"covered_lines": 3392,
+23 -3
View File
@@ -1441,8 +1441,8 @@
"runtime_only": true
}
},
"edge_count": 6944,
"edge_sha256": "9f6be750c55150ef9e061f54ade997c328561b7950f6ec44bce6ada373d01f3e",
"edge_count": 6962,
"edge_sha256": "d78cc1aa6f3837310c7460d2ea17873222b4b50708012ae2f3db249d8197f77e",
"edges": [
"app -> app.runtime",
"app -> app.runtime.compat",
@@ -3984,6 +3984,9 @@
"app.application.chain.context -> app.runtime",
"app.application.chain.context -> app.runtime.stop",
"app.application.chain.data -> app.application",
"app.application.chain.data -> app.application.download",
"app.application.chain.data -> app.application.download.failures",
"app.application.chain.data -> app.application.mediaserver",
"app.application.chain.data -> app.application.transfer",
"app.application.chain.data -> app.application.transfer.execution",
"app.application.chain.data -> app.application.transfer.workflow",
@@ -4020,6 +4023,8 @@
"app.application.directory -> app.schemas.file",
"app.application.directory -> app.schemas.system",
"app.application.directory -> app.schemas.types",
"app.application.download.failures -> app.schemas",
"app.application.download.failures -> app.schemas.types",
"app.application.download.selection -> app.domain",
"app.application.download.selection -> app.domain.context",
"app.application.download.selection -> app.schemas",
@@ -4640,6 +4645,7 @@
"app.chain.download -> app.application.configuration",
"app.chain.download -> app.application.directory",
"app.chain.download -> app.application.download",
"app.chain.download -> app.application.download.failures",
"app.chain.download -> app.application.download.selection",
"app.chain.download -> app.application.download.tasks",
"app.chain.download -> app.application.torrent",
@@ -5134,10 +5140,21 @@
"app.db.adapters.chain -> app.db.oper.transferpending",
"app.db.adapters.chain -> app.db.oper.transfersettlementreceipt",
"app.db.adapters.chain -> app.db.uow",
"app.db.adapters.download -> app.application",
"app.db.adapters.download -> app.application.download",
"app.db.adapters.download -> app.application.download.failures",
"app.db.adapters.download -> app.db",
"app.db.adapters.download -> app.db.oper",
"app.db.adapters.download -> app.db.oper.downloadfailure",
"app.db.adapters.download -> app.db.uow",
"app.db.adapters.mediaserver -> app.application",
"app.db.adapters.mediaserver -> app.application.mediaserver",
"app.db.adapters.mediaserver -> app.db",
"app.db.adapters.mediaserver -> app.db.oper",
"app.db.adapters.mediaserver -> app.db.oper.mediaserver",
"app.db.adapters.mediaserver -> app.db.uow",
"app.db.adapters.mediaserver -> app.schemas",
"app.db.adapters.mediaserver -> app.schemas.types",
"app.db.adapters.outbox -> app.application",
"app.db.adapters.outbox -> app.application.outbox",
"app.db.adapters.outbox -> app.db",
@@ -8020,6 +8037,7 @@
"app.startup.initializers.modules -> app.db.adapters",
"app.startup.initializers.modules -> app.db.adapters.chain",
"app.startup.initializers.modules -> app.db.adapters.download",
"app.startup.initializers.modules -> app.db.adapters.mediaserver",
"app.startup.initializers.modules -> app.db.adapters.outbox",
"app.startup.initializers.modules -> app.db.adapters.pluginidentity",
"app.startup.initializers.modules -> app.db.adapters.plugininstallation",
@@ -8389,7 +8407,7 @@
"app.workflow.actions.transfer_file -> app.workflow",
"app.workflow.actions.transfer_file -> app.workflow.actions"
],
"module_count": 850,
"module_count": 852,
"modules": [
"app",
"app.adapters",
@@ -8652,6 +8670,7 @@
"app.application.database",
"app.application.directory",
"app.application.download",
"app.application.download.failures",
"app.application.download.selection",
"app.application.download.tasks",
"app.application.downloader",
@@ -8783,6 +8802,7 @@
"app.db.adapters",
"app.db.adapters.chain",
"app.db.adapters.download",
"app.db.adapters.mediaserver",
"app.db.adapters.outbox",
"app.db.adapters.pluginidentity",
"app.db.adapters.plugininstallation",
+1 -1
View File
@@ -1422,7 +1422,7 @@
"call-overload": 1,
"comparison-overlap": 1,
"misc": 1,
"no-any-return": 4,
"no-any-return": 3,
"no-redef": 1,
"no-untyped-call": 7,
"no-untyped-def": 6,
-9
View File
@@ -312,9 +312,6 @@
"app/application/maintenance.py": {
"I001": 1
},
"app/application/mediaserver.py": {
"I001": 1
},
"app/application/messaging/agent.py": {
"I001": 1
},
@@ -1276,9 +1273,6 @@
"tests/test_douban_recognition.py": {
"I001": 1
},
"tests/test_download_chain.py": {
"I001": 1
},
"tests/test_download_paths_endpoint.py": {
"I001": 1
},
@@ -1410,9 +1404,6 @@
"tests/test_mediaserver_image_signing.py": {
"I001": 1
},
"tests/test_mediaserver_sync_incremental.py": {
"I001": 1
},
"tests/test_mediaserver_sync_scheduler.py": {
"I001": 1
},
+140 -140
View File
@@ -1,41 +1,41 @@
{
"schema_version": 2,
"generated_at": "2026-08-27T13:33:52.081319+00:00",
"generated_at": "2026-08-27T23:28:48.301843+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": 392,
"max_ms": 1035.341,
"median_ms": 993.245,
"min_ms": 991.998,
"loaded_app_module_count": 394,
"max_ms": 1298.973,
"median_ms": 999.845,
"min_ms": 994.938,
"samples_ms": [
1035.341,
991.998,
993.245
1298.973,
999.845,
994.938
]
},
"app.factory": {
"loaded_app_module_count": 404,
"max_ms": 1006.172,
"median_ms": 1005.88,
"min_ms": 1003.841,
"loaded_app_module_count": 406,
"max_ms": 1079.626,
"median_ms": 1019.979,
"min_ms": 1014.804,
"samples_ms": [
1005.88,
1006.172,
1003.841
1019.979,
1014.804,
1079.626
]
},
"app.main": {
"loaded_app_module_count": 406,
"max_ms": 1085.652,
"median_ms": 1055.994,
"min_ms": 1043.212,
"loaded_app_module_count": 408,
"max_ms": 1075.788,
"median_ms": 1060.558,
"min_ms": 1057.105,
"samples_ms": [
1055.994,
1043.212,
1085.652
1075.788,
1060.558,
1057.105
]
}
},
@@ -47,56 +47,25 @@
{
"mode": "normal",
"enabled_component_count": 25,
"startup_ms": 0.702,
"full_lifespan_ms": 1.54,
"startup_ms": 0.674,
"full_lifespan_ms": 1.563,
"stage_ms": {
"后台任务登记器": 0.09,
"数据库准备": 0.048,
"HTTP 基础能力": 0.03,
"领域依赖装配": 0.033,
"数据库引擎预热": 0.031,
"数据库连接预算": 0.031,
"路由": 0.028,
"模块服务": 0.022,
"插件备份恢复": 0.021,
"插件": 0.025,
"定时器": 0.023,
"监控器": 0.021,
"待处理整理回放": 0.025,
"命令服务": 0.021,
"工作流": 0.023,
"插件同步与启动收尾": 0.024
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 1,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "normal",
"enabled_component_count": 25,
"startup_ms": 0.667,
"full_lifespan_ms": 1.559,
"stage_ms": {
"后台任务登记器": 0.078,
"数据库准备": 0.037,
"HTTP 基础能力": 0.027,
"领域依赖装配": 0.03,
"数据库引擎预热": 0.027,
"后台任务登记器": 0.081,
"数据库准备": 0.039,
"HTTP 基础能力": 0.031,
"领域依赖装配": 0.029,
"数据库引擎预热": 0.028,
"数据库连接预算": 0.024,
"路由": 0.026,
"模块服务": 0.026,
"插件备份恢复": 0.026,
"插件备份恢复": 0.024,
"插件": 0.025,
"定时器": 0.024,
"监控器": 0.024,
"待处理整理回放": 0.027,
"定时器": 0.026,
"监控器": 0.023,
"待处理整理回放": 0.021,
"命令服务": 0.026,
"工作流": 0.023,
"插件同步与启动收尾": 0.021
"插件同步与启动收尾": 0.025
},
"threads_before": 2,
"threads_started": 2,
@@ -109,24 +78,55 @@
{
"mode": "normal",
"enabled_component_count": 25,
"startup_ms": 0.735,
"full_lifespan_ms": 1.57,
"startup_ms": 0.662,
"full_lifespan_ms": 1.526,
"stage_ms": {
"后台任务登记器": 0.103,
"数据库准备": 0.041,
"后台任务登记器": 0.073,
"数据库准备": 0.036,
"HTTP 基础能力": 0.034,
"领域依赖装配": 0.028,
"数据库引擎预热": 0.024,
"数据库连接预算": 0.025,
"路由": 0.025,
"模块服务": 0.024,
"插件备份恢复": 0.027,
"插件": 0.024,
"定时器": 0.025,
"监控器": 0.024,
"待处理整理回放": 0.023,
"命令服务": 0.023,
"工作流": 0.023,
"插件同步与启动收尾": 0.023
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 1,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "normal",
"enabled_component_count": 25,
"startup_ms": 0.651,
"full_lifespan_ms": 1.495,
"stage_ms": {
"后台任务登记器": 0.077,
"数据库准备": 0.038,
"HTTP 基础能力": 0.031,
"领域依赖装配": 0.032,
"数据库引擎预热": 0.028,
"数据库连接预算": 0.026,
"路由": 0.027,
"模块服务": 0.026,
"插件备份恢复": 0.026,
"领域依赖装配": 0.028,
"数据库引擎预热": 0.025,
"数据库连接预算": 0.024,
"路由": 0.026,
"模块服务": 0.025,
"插件备份恢复": 0.023,
"插件": 0.025,
"定时器": 0.024,
"监控器": 0.025,
"定时器": 0.026,
"监控器": 0.024,
"待处理整理回放": 0.024,
"命令服务": 0.024,
"工作流": 0.024,
"命令服务": 0.021,
"工作流": 0.022,
"插件同步与启动收尾": 0.024
},
"threads_before": 2,
@@ -138,8 +138,8 @@
"database_connections_started": 0
}
],
"median_startup_ms": 0.702,
"median_full_lifespan_ms": 1.559,
"median_startup_ms": 0.662,
"median_full_lifespan_ms": 1.526,
"enabled_component_count": 25,
"enabled_components": [
"后台任务登记器",
@@ -174,66 +174,66 @@
{
"mode": "safe",
"enabled_component_count": 13,
"startup_ms": 0.527,
"full_lifespan_ms": 0.956,
"startup_ms": 0.485,
"full_lifespan_ms": 0.915,
"stage_ms": {
"后台任务登记器": 0.08,
"数据库准备": 0.038,
"HTTP 基础能力": 0.03,
"领域依赖装配": 0.031,
"数据库引擎预热": 0.026,
"数据库连接预算": 0.023,
"路由": 0.023,
"模块服务": 0.025,
"插件同步与启动收尾": 0.022
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 1,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 13,
"startup_ms": 0.548,
"full_lifespan_ms": 0.942,
"stage_ms": {
"后台任务登记器": 0.091,
"数据库准备": 0.042,
"HTTP 基础能力": 0.03,
"领域依赖装配": 0.03,
"数据库引擎预热": 0.028,
"数据库连接预算": 0.027,
"路由": 0.026,
"模块服务": 0.026,
"插件同步与启动收尾": 0.025
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 1,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 13,
"startup_ms": 0.523,
"full_lifespan_ms": 0.954,
"stage_ms": {
"后台任务登记器": 0.082,
"数据库准备": 0.045,
"HTTP 基础能力": 0.036,
"领域依赖装配": 0.033,
"数据库引擎预热": 0.026,
"数据库连接预算": 0.024,
"路由": 0.023,
"模块服务": 0.024,
"插件同步与启动收尾": 0.023
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 1,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 13,
"startup_ms": 0.515,
"full_lifespan_ms": 0.934,
"stage_ms": {
"后台任务登记器": 0.084,
"数据库准备": 0.044,
"HTTP 基础能力": 0.029,
"领域依赖装配": 0.027,
"数据库引擎预热": 0.031,
"数据库连接预算": 0.028,
"路由": 0.023,
"数据库准备": 0.04,
"HTTP 基础能力": 0.042,
"领域依赖装配": 0.029,
"数据库引擎预热": 0.023,
"数据库连接预算": 0.029,
"路由": 0.024,
"模块服务": 0.022,
"插件同步与启动收尾": 0.025
"插件同步与启动收尾": 0.021
},
"threads_before": 2,
"threads_started": 2,
"threads_after": 2,
"tasks_before": 1,
"tasks_started": 1,
"tasks_after": 1,
"database_connections_started": 0
},
{
"mode": "safe",
"enabled_component_count": 13,
"startup_ms": 0.496,
"full_lifespan_ms": 0.923,
"stage_ms": {
"后台任务登记器": 0.077,
"数据库准备": 0.035,
"HTTP 基础能力": 0.035,
"领域依赖装配": 0.026,
"数据库引擎预热": 0.025,
"数据库连接预算": 0.024,
"路由": 0.024,
"模块服务": 0.024,
"插件同步与启动收尾": 0.026
},
"threads_before": 2,
"threads_started": 2,
@@ -244,8 +244,8 @@
"database_connections_started": 0
}
],
"median_startup_ms": 0.523,
"median_full_lifespan_ms": 0.954,
"median_startup_ms": 0.496,
"median_full_lifespan_ms": 0.923,
"enabled_component_count": 13,
"enabled_components": [
"后台任务登记器",