feat(worker): IO Worker 分道(WK-1)

io worker 进程内按任务声明的 lane 分文件 / 网络 / 维护三条道,各自并发(缺省 2/4/1)、
各自排队;维护道在文件道或网络道有排队/运行时让路(连续 10 分钟放行一个),调度器内联的
清理/回填/保留期裁剪也走维护道。并发在 设置 → 自动化 → 高级 热生效,env 覆盖;旧
WORKER_CONCURRENCY 映射到网络道。运行状态页按道显示运行中/并发/排队。归属表写进
docs/runbook/dev.md,ci 与注册表逐项核对。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-30 00:24:21 +08:00
1 parent 68f53390f6
commit da33cad81d
38 files changed
+1240 -105

No files matched your search

+4
View File
@@ -41,6 +41,10 @@ export class DeferredTaskEngine implements TaskEngine {
get: TaskEngine["get"] = (...a) => this.e.get(...a);
list: TaskEngine["list"] = (...a) => this.e.list(...a);
startWorker: TaskEngine["startWorker"] = (...a) => this.e.startWorker(...a);
queueCounts: NonNullable<TaskEngine["queueCounts"]> = async (...a) => {
const q = this.e.queueCounts;
return q ? q.apply(this.e, a) : a[0].map(() => ({ queued: 0, running: 0 }));
};
stop: TaskEngine["stop"] = async () => {
await this.inner?.stop();
};