Skip to content

OpenList 按驱动自动独立限流复制线程(无需用户配置) #1791

@JayHsueh25

Description

@JayHsueh25

请确认以下事项

  • 我已确认阅读并同意 AGPL-3.0 第15条
    本程序不提供任何明示或暗示的担保,使用风险由您自行承担。

  • 我已确认阅读并同意 AGPL-3.0 第16条
    无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。

  • 我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。

  • 我已确认阅读了OpenList文档

  • 我已确认没有重复的问题或讨论。

  • 我认为此问题必须由OpenList处理,而非第三方。

  • 我已确认此功能尚未被实现。

  • 我已确认此功能是合理的,且有普遍需求,并非我个人需要。

需求描述

当前的复制任务线程池是全局共享的,当多个驱动(如百度网盘、阿里云盘)同时进行复制任务时,彼此会互相占用线程,导致某一驱动被阻塞或延迟执行。

✅ 希望自动实现

将线程并发数改为 按驱动自动区分,例如:

百度盘:最多 5 个并发复制线程

阿里盘:最多 5 个并发复制线程

其他驱动同理

并且:

无需手动设置

系统根据 provider 自动给每个驱动分配其独立线程池

每个驱动内部仍然走自己的队列和并发限制

不同驱动之间互不影响

即:

全局多个 thread-pool → 每个驱动自动拥有一个自己的固定并发上限(如 5)
百度盘当前正在跑 5 个复制任务 → 新任务排队

同时阿里盘依然可以跑自己的 5 个任务

各驱动互不阻塞、不竞争线程

原因

不同云盘 API 限流策略不同

多云盘同时复制时效率更高

避免不同驱动之间互相“卡住”

实现思路

No response

附加信息

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions