简体中文 English 繁體中文 日本語 Русский
本文为静态镜像,内容以交互版为准 在交互式文档中心打开 →

ErisPulse.runtime.plugin_reload 模块


模块概述

ErisPulse 本地插件热重载监控

监控插件文件夹(默认 plugins/,可通过 ErisPulse.framework.plugins_dir 配置)下 .py 文件的变更,变化时自动重新加载对应插件。

设计要点:


类列表

class _PluginChangeHandler(FileSystemEventHandler)

内部方法 插件文件变更处理器:.py 变更时调度重载协程

方法列表

on_modified(event)

文件修改回调:去抖后调度重载


class PluginReloadWatcher

本地插件热重载监控器

封装轮询文件监控器,监控插件文件夹变更并触发对应插件的重载回调。

示例:

>>> async def handle(name):
...     await sdk.reload_module(name)
>>> watcher = PluginReloadWatcher(handle)
>>> watcher.start()
>>> # ... 运行中 ...
>>> watcher.stop()

方法列表

is_running()

监控器是否已启动

返回值: 是否运行中


_plugin_dirs()

解析插件目录列表(与 PluginFolderLoader 同源)

返回值: 插件目录字符串列表


start()

启动插件文件监控

返回值 (是否启动成功(无插件目录或已在运行返回): False)


stop()

停止插件文件监控


async _handle_change(src_path: str)

内部方法 将文件路径解析为插件名并触发重载回调


async close()

停止监控并等待后台线程结束