fix plugin manager

This commit is contained in:
jxxghp 2023-08-31 16:13:19 +08:00
parent 796133e26f
commit f6b5994fe5
2 changed files with 18 additions and 3 deletions

View File

@ -37,6 +37,7 @@ class PluginManager(metaclass=Singleton):
"""
启动加载插件
"""
# 扫描插件目录
plugins = ModuleHelper.load(
"app.plugins",
@ -80,8 +81,14 @@ class PluginManager(metaclass=Singleton):
"""
# 停止所有插件
for plugin in self._running_plugins.values():
# 关闭数据库
plugin.close()
# 关闭插件
if hasattr(plugin, "stop_service"):
plugin.stop_service()
# 清空对像
self._plugins = {}
self._running_plugins = {}
def get_plugin_config(self, pid: str) -> dict:
"""

View File

@ -17,9 +17,7 @@ class PluginChian(ChainBase):
"""
插件处理链
"""
def process(self, *args, **kwargs):
pass
pass
class _PluginBase(metaclass=ABCMeta):
@ -185,3 +183,13 @@ class _PluginBase(metaclass=ABCMeta):
channel=channel, mtype=mtype, title=title, text=text,
image=image, link=link, userid=userid
))
def close(self):
"""
关闭数据库连接
"""
if self.db:
self.db.close()
def __del__(self):
self.close()