feat: 添加性能优化和架构文档,更新依赖和核心模块
refactor(browser_manager): 实现页面池机制以提升性能 refactor(image_manager): 添加模板缓存并集成页面池 refactor(bili_parser): 迁移到异步HTTP请求并实现会话复用 docs: 新增性能优化、架构设计和最佳实践文档 chore: 更新requirements.txt添加新依赖
This commit is contained in:
@@ -64,6 +64,24 @@
|
||||
* **连接管理**: 负责初始化和管理与 Redis 服务器的异步连接。
|
||||
* **提供实例**: 通过 `redis_manager.redis` 属性,为其他模块提供一个可用的 `redis` 客户端实例。
|
||||
|
||||
### 6. `BrowserManager` (全局实例: `browser_manager`)
|
||||
|
||||
* **文件**: `core/managers/browser_manager.py`
|
||||
* **全局实例**: `from core.managers.browser_manager import browser_manager`
|
||||
* **核心职责**:
|
||||
* **浏览器生命周期管理**: 负责 Playwright 浏览器的启动和关闭。
|
||||
* **页面池 (Page Pool)**: 维护一个预热的浏览器页面池(默认 3 个)。
|
||||
* **资源复用**: 提供 `get_page()` 和 `release_page()` 接口,让渲染任务直接复用现有页面,避免了每次创建新页面的巨大开销。
|
||||
|
||||
### 7. `ImageManager` (全局实例: `image_manager`)
|
||||
|
||||
* **文件**: `core/managers/image_manager.py`
|
||||
* **全局实例**: `from core.managers.image_manager import image_manager`
|
||||
* **核心职责**:
|
||||
* **图片渲染**: 基于 Jinja2 模板和 Playwright 浏览器生成图片。
|
||||
* **模板缓存**: 自动缓存编译后的 Jinja2 模板,避免重复 IO 和解析。
|
||||
* **资源调度**: 自动从 `BrowserManager` 借用和归还页面,开发者无需关心底层浏览器操作。
|
||||
|
||||
## 如何在插件中使用管理器
|
||||
|
||||
在您的插件中,只需通过 `import` 语句导入相应管理器的全局实例即可使用。
|
||||
|
||||
Reference in New Issue
Block a user