refactor: 批量 Deep Scan 并发数改为 2,优化排队显示
修改: - maxConcurrent 从 3 改为 2 - 开始时显示:"Starting: 2 immediate, 3 queuing..." - 处理时显示:"Processing 1/5" 或 "Processing 3/5 (1 queuing)..." - 更清晰的队列状态显示
This commit is contained in:
@@ -1887,14 +1887,16 @@ async function batchDeepScan() {
|
|||||||
if (!confirm(`Deep scan ${filesToProcess.length} files?\n\nThis will process all selected files with default settings.`)) return
|
if (!confirm(`Deep scan ${filesToProcess.length} files?\n\nThis will process all selected files with default settings.`)) return
|
||||||
|
|
||||||
batchProcessing.value = true
|
batchProcessing.value = true
|
||||||
actionMsg.value = `Starting deep scan for ${filesToProcess.length} files...`
|
|
||||||
|
|
||||||
const maxConcurrent = 3
|
const maxConcurrent = 2
|
||||||
const limit = pLimit(maxConcurrent)
|
const limit = pLimit(maxConcurrent)
|
||||||
|
const immediateCount = Math.min(filesToProcess.length, maxConcurrent)
|
||||||
|
const queueTotal = Math.max(0, filesToProcess.length - maxConcurrent)
|
||||||
|
|
||||||
|
actionMsg.value = `Starting: ${immediateCount} immediate, ${queueTotal} queuing...`
|
||||||
|
|
||||||
let successCount = 0
|
let successCount = 0
|
||||||
let failCount = 0
|
let failCount = 0
|
||||||
let queueCount = 0
|
|
||||||
|
|
||||||
const tasks = filesToProcess.map((f, index) => {
|
const tasks = filesToProcess.map((f, index) => {
|
||||||
return limit(async () => {
|
return limit(async () => {
|
||||||
@@ -1905,9 +1907,10 @@ async function batchDeepScan() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const position = index + 1
|
const position = index + 1
|
||||||
if (position > maxConcurrent) {
|
const queuePosition = position - maxConcurrent
|
||||||
queueCount++
|
|
||||||
actionMsg.value = `Processing ${successCount + 1}/${filesToProcess.length} (${queueCount} in queue)...`
|
if (queuePosition > 0) {
|
||||||
|
actionMsg.value = `Processing ${successCount + 1}/${filesToProcess.length} (${queuePosition} queuing)...`
|
||||||
} else {
|
} else {
|
||||||
actionMsg.value = `Processing ${position}/${filesToProcess.length}...`
|
actionMsg.value = `Processing ${position}/${filesToProcess.length}...`
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user