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

+7 -2
View File
@@ -177,8 +177,13 @@ services:
PUID: ${PUID:-10001}
PGID: ${PGID:-10001}
BACKUP_KEEP: ${BACKUP_KEEP:-14}
# worker 并发:io 组(下载提交/入库复制/清理/对账/抓取等)与 agent 组(runAgent/resolveDecision)分池
WORKER_CONCURRENCY: ${WORKER_CONCURRENCY:-4}
# worker 并发:io 组(文件 / 网络 / 维护三条道)与 agent 组(runAgent/resolveDecision)分池
# io worker 三条道的并发(WK-1):不设 = 用 设置 → 自动化 → 高级 里的值(缺省 文件 2 / 网络 4 / 维护 1);
# 设了就以环境变量为准。旧 WORKER_CONCURRENCY 映射到网络道。
WORKER_CONCURRENCY: ${WORKER_CONCURRENCY:-}
WORKER_FILE_CONCURRENCY: ${WORKER_FILE_CONCURRENCY:-}
WORKER_NETWORK_CONCURRENCY: ${WORKER_NETWORK_CONCURRENCY:-}
WORKER_MAINTENANCE_CONCURRENCY: ${WORKER_MAINTENANCE_CONCURRENCY:-}
WORKER_AGENT_CONCURRENCY: ${WORKER_AGENT_CONCURRENCY:-2}
# 手动按路径整理时递归遍历的文件数上限
ORGANIZE_WALK_MAX_FILES: ${ORGANIZE_WALK_MAX_FILES:-5000}