fluxdown 中文文档 下载 App

FluxDown 任务 Boost — 临时让一个任务跑快点

为什么需要 Boost

默认情况下 FluxDown 引擎公平对待队列里所有任务——它们共享同一个令牌桶限速器,公平分配并发数。但有时候你会遇到:

Boost 按钮就是解决这个问题的——对单个任务临时提升优先级。

Boost 做了什么

点一个任务的「Boost」按钮后,调度器:

  1. 暂时为这个任务分配更多工作线程——超过它所在队列的正常并发数限制。
  2. 在全局令牌桶里给它开一个「快速通道」——让它优先取令牌,其他任务让道。
  3. Boost 效果持续到该任务完成、或你手动取消 Boost、或你暂停/删除该任务。

其他任务不会被取消或暂停——只是暂时让道,Boost 任务跑完后一切恢复正常。

怎么用

和手动调队列的区别

方案影响范围操作量
Boost 单任务只影响这一个任务,其他正常点一下按钮
把它挪到专门的「加急」队列需要先建队列表、改其他任务的队列多步
暂停其他任务其他任务全停手动一个个暂停
调全局限速或并发影响所有任务全局改变

Boost 是最精准的——只提升一个任务,其他一切不变。

技术细节

Boost 没有绕过统一队列和 SQLite 持久化机制——它只是在调度器内部给这个任务的优先级权重调高,让 Work Stealing 引擎更快地把空闲 worker 分配给它。全局令牌桶仍然生效——Boost 任务可以拿更多带宽,但不会突破总限速(如果你设了)。

为什么不支持多任务同时 Boost

目前一次只能 Boost 一个任务。两个任务同时 Boost 相当于没 Boost——调度器还是公平对待。如果你真有多个紧急任务,建议:

  1. 把它们挪到一个独立的「加急」队列。
  2. 给加急队列设更高并发数。
  3. (可选)暂停其他队列。

这样做比同时 Boost 多个任务效果好。

Webhook + Boost

可以写一个 Hook 插件或 Webhook 自动 Boost 某些任务——比如: