问题域/PD-87

异步并发控制

Async Concurrency Control

管理大量异步LLM/Embedding调用的并发度、优先级和超时

子问题

1.优先级调度策略

2.多层超时保护

3.stuck任务检测与恢复

4.Worker 异常退出后的自动恢复与补充

5.协作式任务取消(cancellation_requested标志)

6.入队超时控制(queue_timeout防止队列满阻塞)

各项目的解法1 solutions

Signals

横向对比

维度LightRAG
优先级调度PriorityQueue + (priority, counter) 元组实现优先级 FIFO
多层超时保护四层级联:LLM Provider → Worker(2x) → HealthCheck(2x+15) → User
stuck任务检测后台 health check 每 5 秒扫描 execution_start_time 超时任务
并发模型装饰器工厂 + Worker 池 + PriorityQueue,双队列独立运行
优雅关闭shutdown_event + futures cancel + queue drain + workers cancel 四步关闭
Worker恢复health check 自动检测死亡 worker 并补充新协程

最佳实践

1.基于PriorityQueue实现优先级并发控制,配合多层超时保护防止资源泄漏

2.用装饰器工厂封装并发控制,对调用方零侵入

3.从基础超时自动推导多层超时值,避免手动配置不一致

4.用WeakSet追踪活跃Future防止内存泄漏