v1.7.3 — 大规模架构重构:为 1.0 稳定化扫清结构债
v1.7.3 是面向 1.0 的工程重构版本:包结构重组、引擎拆分、
初始化系统子包化、异常/接口体系分散化,同时修复了分布式与队列的
多个关键缺陷。
⚠️ Breaking Changes(升级必读)
旧 import 路径已删除,不再保留兼容层。涉及:
crawlo.extension.*→crawlo.extensions.*crawlo.factories.*→crawlo.core.*crawlo.scheduling.*→crawlo.commands.*crawlo.config→crawlo.core.configcrawlo.exceptions/crawlo.interfaces/crawlo.db/
crawlo.helpers/crawlo.network/crawlo.shell→ 分散到各领域包
迁移方法:全局替换 import 路径,完整映射表见
迁移指南。
✅ 例外:初始化系统子包化(
application.py→core/initialization/)
通过 PEP 562 延迟 re-export 保持 100% 向后兼容,生产代码零修改。
✨ New Features
- ResourceScope:资源作用域管理,多爬虫/长跑场景连接池复用更可靠
- 主动 XCLAIM 扫描:分布式崩溃任务回收不再完全依赖被动触发
- EventloopLagProbe:事件循环延迟观测组件
- PipelineManager 幂等 close + Stub 属性兜底:关闭/缺字段场景不再炸
- RingBuffer 指标:p99 响应时间 O(1) 滑动窗口统计
🐛 Fixes
- 队列选择:
auto模式正确选 Redis ZSET;distributed 强制 Stream 解耦 - Checkpoint:默认彻底关闭 + 修复 JsonStorage/竞态丢数据
- 空闲检测:修复 auto 模式空队列退出卡死(曾长达 29 分钟)
- 分布式协调:10 Worker 实测通过,种子锁唯一性 + 协调关闭验证
- Prometheus 后端并发访问加锁、标签名提前校验
📦 升级方式
pip install -U crawlo==1.7.3
# 然后按迁移指南全局替换旧 import 路径🔗 更多
- 完整变更与验证矩阵:v1.7.3.md
- 全部历史:CHANGELOG.md