fix:重构配置热加载

This commit is contained in:
jxxghp
2025-06-04 08:21:14 +08:00
parent 0911854e9d
commit 3a3de64b0f
3 changed files with 7 additions and 16 deletions
+2 -2
View File
@@ -20,6 +20,7 @@ from app.core.config import global_vars, settings
from app.core.metainfo import MetaInfo from app.core.metainfo import MetaInfo
from app.core.module import ModuleManager from app.core.module import ModuleManager
from app.core.security import verify_apitoken, verify_resource_token, verify_token from app.core.security import verify_apitoken, verify_resource_token, verify_token
from app.core.event import eventmanager
from app.db.models import User from app.db.models import User
from app.db.systemconfig_oper import SystemConfigOper from app.db.systemconfig_oper import SystemConfigOper
from app.db.user_oper import get_current_active_superuser from app.db.user_oper import get_current_active_superuser
@@ -38,7 +39,6 @@ from app.utils.crypto import HashUtils
from app.utils.http import RequestUtils from app.utils.http import RequestUtils
from app.utils.security import SecurityUtils from app.utils.security import SecurityUtils
from app.utils.url import UrlUtils from app.utils.url import UrlUtils
from core.event import eventmanager
from version import APP_VERSION from version import APP_VERSION
router = APIRouter() router = APIRouter()
@@ -225,7 +225,7 @@ def set_env_setting(env: dict,
if failed_updates: if failed_updates:
return schemas.Response( return schemas.Response(
success=False, success=False,
message="部分配置项更新失败", message=f"{', '.join(failed_updates.keys())} 配置项更新失败",
data={ data={
"success_updates": success_updates, "success_updates": success_updates,
"failed_updates": failed_updates "failed_updates": failed_updates
+4 -13
View File
@@ -450,24 +450,15 @@ class EventManager(metaclass=Singleton):
# 如果类不在全局变量中,尝试动态导入模块并创建实例 # 如果类不在全局变量中,尝试动态导入模块并创建实例
try: try:
if class_name == "Command": if class_name.endswith("Manager"):
module_name = "app.command" module_name = f"app.core.{class_name[:-7].lower()}"
module = importlib.import_module(module_name)
elif class_name == "Monitor":
module_name = "app.monitor"
module = importlib.import_module(module_name)
elif class_name == "Scheduler":
module_name = "app.scheduler"
module = importlib.import_module(module_name)
elif class_name == "PluginManager":
module_name = "app.core.plugin"
module = importlib.import_module(module_name) module = importlib.import_module(module_name)
elif class_name.endswith("Chain"): elif class_name.endswith("Chain"):
module_name = f"app.chain.{class_name[:-5].lower()}" module_name = f"app.chain.{class_name[:-5].lower()}"
module = importlib.import_module(module_name) module = importlib.import_module(module_name)
else: else:
logger.debug(f"事件处理出错:不支持的类名: {class_name}") module_name = f"app.{class_name.lower()}"
return None module = importlib.import_module(module_name)
if hasattr(module, class_name): if hasattr(module, class_name):
class_obj = getattr(module, class_name)() class_obj = getattr(module, class_name)()
return class_obj return class_obj
+1 -1
View File
@@ -8,7 +8,7 @@ from app.utils.http import RequestUtils
from app.utils.singleton import Singleton from app.utils.singleton import Singleton
from app.utils.string import StringUtils from app.utils.string import StringUtils
from app.utils.system import SystemUtils from app.utils.system import SystemUtils
from helper.system import SystemHelper from app.helper.system import SystemHelper
class ResourceHelper(metaclass=Singleton): class ResourceHelper(metaclass=Singleton):