refactor: finish startup settings migration

This commit is contained in:
jxxghp
2026-08-23 03:31:10 +08:00
parent baf4e883b2
commit 48e3eb08ec
11 changed files with 39 additions and 24 deletions
+3 -1
View File
@@ -12,7 +12,9 @@ from app.agent.runtime_loader import (
from app.agent.llm.gateway import register_llm_provider_runtime
from app.application.agent import register_agent_service_providers
from app.application.messaging.skill import register_skill_catalog_provider
from app.runtime.config import settings
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.runtime.events import Event, eventmanager
from app.runtime.log import logger
from app.schemas.types import EventType
+3 -1
View File
@@ -20,7 +20,9 @@ from app.db.engine import get_engine
from app.db.health import probe_database
from app.db.maintenance import DatabaseCleanupRepository
from app.db.session import SessionFactory
from app.runtime.config import settings
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
def build_database_governance() -> DatabaseGovernance:
+3 -1
View File
@@ -10,7 +10,9 @@ from alembic.util import CommandError
from sqlalchemy import inspect
from sqlalchemy.engine import Engine
from app.runtime.config import settings
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.db.base import Base
from app.db.engine import get_engine
from app.db.models import load_all_models
+3 -1
View File
@@ -6,7 +6,9 @@ from app.domain.meta.runtime import configure_recognition_runtime
from app.domain.meta.words import configure_custom_words_provider
from app.domain.metainfo import clear_rust_parse_options_cache
from app.adapters.system import rust as rust_accelerator
from app.runtime.config import settings
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.application.recognition import RecognitionRuleService
+4 -1
View File
@@ -26,7 +26,10 @@ except Exception:
from app.chain.system import SystemChain
from app.application.plugin.runtime import get_plugin_manager
from app.runtime.config import global_vars, settings
from app.runtime.config import global_vars
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.runtime.health import get_application_health
from app.runtime.topology import validate_process_topology
from app.adapters.external.server import MoviePilotServerHelper
+5 -2
View File
@@ -17,7 +17,10 @@ except ImportError as e:
from app.adapters.system.host import SystemUtils
from app.runtime.log import logger
from app.runtime.config import settings
from app.runtime.settings import RuntimeSettingsCompat
from app.runtime.config import settings as legacy_settings
settings = RuntimeSettingsCompat()
from app.runtime.cache import AsyncFileCache, FileCache
from app.runtime.extensions.module_manager import ModuleManager
from app.runtime.extensions.module.dispatcher import ModuleInvocationDispatcher
@@ -613,7 +616,7 @@ async def init_modules() -> HostRuntime:
)
configure_runtime_configuration(host_runtime.configuration)
configure_runtime_settings(host_runtime.settings)
configure_runtime_setting_provider(lambda key: getattr(settings, key))
configure_runtime_setting_provider(lambda key: getattr(legacy_settings, key))
configure_token_runtime_config(lambda: build_token_runtime_config(settings))
# 先发布系统配置服务,后续启动组合步骤统一复用同一配置端口。
configure_system_config(SystemConfigService(repository=SystemConfigOper()))
+3 -1
View File
@@ -7,7 +7,9 @@ from app.runtime.compat.diagnostics import (
from app.runtime.compat.resource_imports import scan_plugin_resource_imports
from app.application.plugin.routes import register_plugin_api
from app.runtime.config import global_vars
from app.runtime.config import settings
from app.runtime.settings import RuntimeSettingsCompat
settings = RuntimeSettingsCompat()
from app.runtime.extensions.plugin_manager import (
PluginManager,
configure_plugin_catalog_factory,
@@ -1074,6 +1074,9 @@ Doctor、factory、main 与 CLI 的部署读取切换到动态运行时端口,
配置债务由 24 个文件降至 19 个,Doctor、启动、CLI 与数据库迁移专项测试通过。
FS proxy、Local/WebPush 存储适配以及 Module host adapter 切换到动态运行时端口,保留 global_vars、能力
快照与模块契约行为;配置债务由 19 个文件降至 15 个,文件存储、WebPush 与 Module contract 专项测试通过。
启动 Agent、数据库、领域、生命周期和插件初始化模块切换到动态运行时端口;组合根 provider 明确绑定原始
Settings,避免代理自递归,配置债务由 15 个文件降至 8 个。数据库引擎/Session 与下载器模块保留底层
Settings 读取作为基础设施边界,架构基线已明确记录该例外,启动与架构专项测试通过。
同日修正适配器配置下沉边界:OCR、CookieCloud、DoH、Rust 和资源签名等低层实现不再直接依赖
`app.application`,由 `app.runtime.settings` 端口承接组合根注入;未启动装配时仍回退旧 Settings ABI
+2 -1
View File
@@ -100,7 +100,8 @@ def collect_configuration_debt_baseline() -> dict[str, Any]:
if not isinstance(node, ast.ImportFrom):
continue
if node.module == "app.runtime.config" and any(
alias.name == "settings" for alias in node.names
alias.name == "settings" and alias.asname in (None, "settings")
for alias in node.names
):
imports_settings = True
if node.module == "app.db.oper.systemconfig":
@@ -9,7 +9,7 @@
"root": "app"
},
"settings_imports": {
"count": 15,
"count": 8,
"files": [
"app/db/base.py",
"app/db/engine.py",
@@ -18,14 +18,7 @@
"app/modules/qbittorrent/__init__.py",
"app/modules/redis/__init__.py",
"app/modules/rtorrent/__init__.py",
"app/modules/transmission/__init__.py",
"app/startup/agent_initializer.py",
"app/startup/database.py",
"app/startup/database_initializer.py",
"app/startup/domain_initializer.py",
"app/startup/lifecycle/__init__.py",
"app/startup/modules_initializer.py",
"app/startup/plugins_initializer.py"
"app/modules/transmission/__init__.py"
]
},
"system_config_oper_constructions": {
+8 -6
View File
@@ -13,8 +13,8 @@
"runtime_to_db": [],
"workflow_to_db": []
},
"edge_count": 6429,
"edge_sha256": "268e9cedacc3d2a4e25e153b25e4c43784da83d77fd339936d3a0d7cb3f8ced3",
"edge_count": 6431,
"edge_sha256": "7856a4d76df46e0fec9fae87c9b1167c7e01df507d02308b3b1fd4f2135eb41c",
"edges": [
"app -> app.runtime",
"app -> app.runtime.compat",
@@ -5948,9 +5948,9 @@
"app.startup.agent_initializer -> app.application.messaging",
"app.startup.agent_initializer -> app.application.messaging.skill",
"app.startup.agent_initializer -> app.runtime",
"app.startup.agent_initializer -> app.runtime.config",
"app.startup.agent_initializer -> app.runtime.events",
"app.startup.agent_initializer -> app.runtime.log",
"app.startup.agent_initializer -> app.runtime.settings",
"app.startup.agent_initializer -> app.schemas",
"app.startup.agent_initializer -> app.schemas.types",
"app.startup.cache_initializer -> app.adapters",
@@ -6000,14 +6000,14 @@
"app.startup.database -> app.db.maintenance",
"app.startup.database -> app.db.session",
"app.startup.database -> app.runtime",
"app.startup.database -> app.runtime.config",
"app.startup.database -> app.runtime.settings",
"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",
"app.startup.database_initializer -> app.runtime.config",
"app.startup.database_initializer -> app.runtime.log",
"app.startup.database_initializer -> app.runtime.settings",
"app.startup.database_initializer -> app.startup",
"app.startup.database_initializer -> app.startup.database",
"app.startup.domain_initializer -> app.adapters",
@@ -6025,7 +6025,7 @@
"app.startup.domain_initializer -> app.domain.meta.words",
"app.startup.domain_initializer -> app.domain.metainfo",
"app.startup.domain_initializer -> app.runtime",
"app.startup.domain_initializer -> app.runtime.config",
"app.startup.domain_initializer -> app.runtime.settings",
"app.startup.download_failure -> app.db",
"app.startup.download_failure -> app.db.oper",
"app.startup.download_failure -> app.db.oper.downloadfailure",
@@ -6046,6 +6046,7 @@
"app.startup.lifecycle -> app.runtime.config",
"app.startup.lifecycle -> app.runtime.health",
"app.startup.lifecycle -> app.runtime.log",
"app.startup.lifecycle -> app.runtime.settings",
"app.startup.lifecycle -> app.runtime.state",
"app.startup.lifecycle -> app.runtime.topology",
"app.startup.lifecycle -> app.startup",
@@ -6222,6 +6223,7 @@
"app.startup.plugins_initializer -> app.runtime.extensions.plugin_manager",
"app.startup.plugins_initializer -> app.runtime.log",
"app.startup.plugins_initializer -> app.runtime.managed_resources",
"app.startup.plugins_initializer -> app.runtime.settings",
"app.startup.plugins_initializer -> app.schemas",
"app.startup.plugins_initializer -> app.schemas.plugin",
"app.startup.plugins_initializer -> app.schemas.types",