fix plugin initializer

This commit is contained in:
jxxghp
2025-05-13 21:37:10 +08:00
parent 7be2910809
commit 04ce774c22
3 changed files with 17 additions and 11 deletions

View File

@@ -5,7 +5,7 @@ from fastapi import FastAPI
from app.startup.workflow_initializer import init_workflow, stop_workflow
from app.startup.modules_initializer import shutdown_modules, start_modules
from app.startup.plugins_initializer import init_plugins_async
from app.startup.plugins_initializer import init_plugins_async, stop_plugins
from app.startup.routers_initializer import init_routers
@@ -40,4 +40,5 @@ async def lifespan(app: FastAPI):
shutdown_modules(app)
# 关闭工作流
stop_workflow(app)
# 关闭插件
stop_plugins()

View File

@@ -18,7 +18,6 @@ except ImportError as e:
sys.exit(1)
from app.core.event import EventManager
from app.core.plugin import PluginManager
from app.helper.thread import ThreadHelper
from app.helper.display import DisplayHelper
from app.helper.resource import ResourceHelper
@@ -117,9 +116,6 @@ def shutdown_modules(_: FastAPI):
global_vars.stop_system()
# 停止模块
ModuleManager().stop()
# 停止插件
PluginManager().stop()
PluginManager().stop_monitor()
# 停止事件消费
EventManager().stop()
# 停止虚拟显示
@@ -156,8 +152,6 @@ def start_modules(_: FastAPI):
ModuleManager()
# 启动事件消费
EventManager().start()
# 加载插件
PluginManager().start()
# 启动监控任务
Monitor()
# 启动定时服务

View File

@@ -25,9 +25,8 @@ async def init_plugins_async():
# 继续执行后续的插件初始化步骤
logger.info("正在初始化所有插件")
# 为避免初始化插件异常,这里所有插件都进行初始化
# 安装完成后重新初始化插件
plugin_manager.init_config()
# 安装完成后初始化插件
plugin_manager.start()
# 插件启动后注册后台任务
scheduler.init_plugin_jobs()
# 插件启动后注册菜单命令
@@ -61,3 +60,15 @@ def register_plugin_api():
"""
from app.api.endpoints import plugin
plugin.register_plugin_api()
def stop_plugins():
"""
停止插件
"""
try:
plugin_manager = PluginManager()
plugin_manager.stop()
plugin_manager.stop_monitor()
except Exception as e:
logger.error(f"停止插件时发生错误:{e}", exc_info=True)