update applications/extensions/__init__.py.

在 init_plugs 函数中添加了两个关键的事件广播调用:
- 第33行: broadcast_execute(app, 'event_init')
- 第34行: broadcast_execute(app, 'event_finish')

### 执行流程优化
修改后的 init_plugs 函数执行流程更加合理:

1. 加载插件模块 :注册所有启用的插件
2. 触发 event_begin :通知插件系统开始初始化
3. 初始化核心功能 :登录、数据库、邮件、上传等
4. 初始化系统蓝图 :模板指令、错误视图等
5. 触发 event_init :执行插件的主要初始化逻辑
6. 触发 event_finish :执行插件的最终初始化操作


### 事件触发时机
事件名称 触发时机 用途 event_begin 插件加载后,核心功能初始化前 插件准备工作 event_init 核心功能初始化完成后 插件主要初始化逻辑 event_finish 所有初始化完成后 插件最终初始化操作,包括应用上下文初始化

这个修改是插件系统架构的重要优化,确保了所有插件能够在正确的时机执行初始化逻辑,特别是对于复杂的任务插件至关重要。

Signed-off-by: laoknas <kuai410022283@qq.com>
This commit is contained in:
laoknas
2025-12-13 16:50:39 +00:00
committed by Gitee
parent da453c839e
commit 0ebc9394ad
+5 -1
View File
@@ -12,7 +12,7 @@ from .init_plugins import register_plugin, broadcast_execute
def init_plugs(app: Flask) -> None:
# 注册插件
# 注册插件a
register_plugin(app)
broadcast_execute(app, 'event_begin')
@@ -28,3 +28,7 @@ def init_plugs(app: Flask) -> None:
# 系统蓝图相关
init_template_directives(app)
init_error_views(app)
# 初始化插件
broadcast_execute(app, 'event_init')
broadcast_execute(app, 'event_finish')