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:
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user