Skip to content

v1.7.3

Latest

Choose a tag to compare

@crawl-coder crawl-coder released this 11 Aug 05:45
· 22 commits to master since this release

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.configcrawlo.core.config
  • crawlo.exceptions / crawlo.interfaces / crawlo.db /
    crawlo.helpers / crawlo.network / crawlo.shell → 分散到各领域包

迁移方法:全局替换 import 路径,完整映射表见
迁移指南

✅ 例外:初始化系统子包化(application.pycore/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 路径

🔗 更多