问题域/PD-302

文档生命周期管理

Document Lifecycle Management

文档从上传到处理完成的全生命周期状态跟踪与管理

子问题

1.状态机设计

2.处理进度追踪

3.错误恢复

4.删除与重建

5.多模态两阶段处理(PREPROCESSED 中间态)

6.重复文档检测与去重记录

7.Pipeline 单 worker 互斥与取消请求协调

8.删除时共享实体的 LLM 重建

各项目的解法1 solutions

Signals

横向对比

维度LightRAG
状态机设计DocStatus(str,Enum) 五态:PENDING→PROCESSING→PREPROCESSED→PROCESSED/FAILED,__post_init__ 多模态降级
处理进度追踪track_id 批次追踪 + pipeline_status 共享状态 + history_messages 操作日志
错误恢复Pipeline 启动时 _validate_and_fix_document_consistency 自动将 PROCESSING/FAILED 重置为 PENDING
删除与重建chunks_list 精确定位 → 区分独占/共享实体 → 独占删除、共享用剩余 chunk LLM 重建
并发控制pipeline_status.busy 单 worker 互斥 + job_name 验证防止删除与处理冲突
存储抽象DocStatusStorage 抽象基类 + JsonDocStatusStorage 共享内存实现,支持多后端切换

最佳实践

1.DocStatus枚举明确状态转换

2.chunk列表关联支持精确删除重建

3.str 枚举可直接 JSON 序列化,避免状态值转换开销

4.Pipeline 启动时自动自愈,PROCESSING/FAILED 重置为 PENDING

5.删除操作通过 job_name 验证防止与处理任务冲突

6.DocProcessingStatus.__post_init__ 实现透明的多模态状态降级