fix: 添加延迟确保批量 Deep Scan 严格限制并发为 2

问题:
- re_scan_file API 是异步的,立即返回成功
- 后端可能同时启动多个扫描任务
- 导致有 4 个文件同时在 scanning 状态

临时修复:
- 在每个文件启动扫描后等待 2 秒
- 确保后端有足够时间开始处理并释放资源
- 保持前端并发控制为 2,避免过多任务同时启动

未来改进:
- 需要在后端实现真正的队列机制
- 或者检查当前 scanning 状态,动态调整启动速度
This commit is contained in:
2026-10-08 01:37:35 +08:00
parent 4e1df67857
commit e83d5c7a8c

View File

@@ -1899,8 +1899,7 @@ async function batchDeepScan() {
actionMsg.value = `Starting: ${immediateCount} immediate, ${queueTotal} queuing...`
const tasks = filesToProcess.map((f) => {
return limit(async () => {
async function processFile(f: any) {
const fileUuid = f.file_uuid
if (!fileUuid) {
failCount++
@@ -1936,6 +1935,9 @@ async function batchDeepScan() {
fileStatusCache.value[fileUuid] = 'scanning'
await syncFileStatus(fileUuid)
}
// 等待 2 秒,确保后端开始处理并释放资源
await new Promise(resolve => setTimeout(resolve, 2000))
} else {
failCount++
}
@@ -1945,8 +1947,9 @@ async function batchDeepScan() {
} finally {
processing--
}
})
})
}
const tasks = filesToProcess.map((f) => limit(() => processFile(f)))
await Promise.all(tasks)