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

View File

@@ -20,6 +20,7 @@ from app.core.config import global_vars, settings
from app.core.metainfo import MetaInfo
from app.core.module import ModuleManager
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.systemconfig_oper import SystemConfigOper
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.security import SecurityUtils
from app.utils.url import UrlUtils
from core.event import eventmanager
from version import APP_VERSION
router = APIRouter()
@@ -225,7 +225,7 @@ def set_env_setting(env: dict,
if failed_updates:
return schemas.Response(
success=False,
message="部分配置项更新失败",
message=f"{', '.join(failed_updates.keys())} 配置项更新失败",
data={
"success_updates": success_updates,
"failed_updates": failed_updates

View File

@@ -450,24 +450,15 @@ class EventManager(metaclass=Singleton):
# 如果类不在全局变量中,尝试动态导入模块并创建实例
try:
if class_name == "Command":
module_name = "app.command"
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"
if class_name.endswith("Manager"):
module_name = f"app.core.{class_name[:-7].lower()}"
module = importlib.import_module(module_name)
elif class_name.endswith("Chain"):
module_name = f"app.chain.{class_name[:-5].lower()}"
module = importlib.import_module(module_name)
else:
logger.debug(f"事件处理出错:不支持的类名: {class_name}")
return None
module_name = f"app.{class_name.lower()}"
module = importlib.import_module(module_name)
if hasattr(module, class_name):
class_obj = getattr(module, class_name)()
return class_obj

View File

@@ -8,7 +8,7 @@ from app.utils.http import RequestUtils
from app.utils.singleton import Singleton
from app.utils.string import StringUtils
from app.utils.system import SystemUtils
from helper.system import SystemHelper
from app.helper.system import SystemHelper
class ResourceHelper(metaclass=Singleton):