v0.3: SQLite persistence + ProjectService + dependency resolution
- New: services/sensu_db.py (SQLite, 5 tables) - New: services/project_service.py (project registry, port allocation, dep resolution) - Integrated into main.py (step 11.6) - Tests: 23/23 passing (15 original + 8 new)
This commit is contained in:
@@ -23,7 +23,9 @@ from services.plugin_service import PluginService
|
||||
from services.permission_service import PermissionService
|
||||
from services.api_service import APIService
|
||||
from services.shutdown_service import ShutdownService
|
||||
from services.web_panel.manager import WebPanelManager
|
||||
from services.web_panel.manager import WebPanelManager
|
||||
from services.project_service import ProjectService
|
||||
from services.sensu_db import SenSuDB
|
||||
|
||||
from bridges.core_bridge import CoreBridge
|
||||
from bridges.plugin_bridge import PluginBridge
|
||||
@@ -122,6 +124,8 @@ class CatFramework:
|
||||
# 确保 internet_service 已经实例化(在第10步)
|
||||
if internet_service:
|
||||
from services.web_panel.manager import WebPanelManager
|
||||
from services.project_service import ProjectService
|
||||
from services.sensu_db import SenSuDB
|
||||
|
||||
# 初始化面板管理器
|
||||
web_panel = WebPanelManager(base_config, self.service_manager)
|
||||
@@ -130,6 +134,17 @@ class CatFramework:
|
||||
if await web_panel.start():
|
||||
self.service_manager.register_service("web_panel", web_panel)
|
||||
logger.info("✅ Web 面板挂载完成")
|
||||
# 11.6 项目注册表 + 数据库
|
||||
logger.info("> 初始化 项目注册表 中...")
|
||||
try:
|
||||
db = SenSuDB("data/sensu.db")
|
||||
project_service = ProjectService(self.service_manager, db)
|
||||
await project_service.start()
|
||||
self.service_manager.register_service("project", project_service)
|
||||
logger.info("✅ 项目注册表就绪")
|
||||
except Exception as e:
|
||||
logger.warning(f"项目注册表初始化跳过: {e}")
|
||||
|
||||
else:
|
||||
logger.warning("Web 面板初始化未完成")
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user