EventBus 框架文档
模块路径: FQBase.Core.event_bus源码: [event_bus.py](file:///Users/A.D.189/FQuant/FQuant.Server/FQBase/FQBase/Core/event_bus.py)
一、框架概述
1.1 模块简介
EventBus 是 FQBase 框架的事件总线实现,基于发布-订阅(Pub/Sub)模式,用于解耦组件间的通信。
1.2 核心特性
| 特性 | 说明 |
|---|---|
| 发布-订阅模式 | 解耦事件发布者和订阅者 |
| 单例模式 | 全局唯一 EventBus 实例 |
| 同步/异步发布 | 支持同步、异步Future、await 三种发布方式 |
| 优先级处理 | 按 priority 降序执行订阅者 |
| 弱引用订阅 | 防止因对象删除导致的内存泄漏 |
| 事件历史 | 环形缓冲区存储历史事件 |
| 线程安全 | 所有操作线程安全 |
1.3 设计模式
| 模式 | 应用 |
|---|---|
| 观察者模式 | 订阅/发布机制 |
| 单例模式 | 全局唯一事件总线 |
| 单一职责 | EventHistory 独立管理历史记录 |