diff --git a/backend/services/snapshot-service/src/application/services/snapshot-orchestrator.service.ts b/backend/services/snapshot-service/src/application/services/snapshot-orchestrator.service.ts index cd9b2841..752bc4a8 100644 --- a/backend/services/snapshot-service/src/application/services/snapshot-orchestrator.service.ts +++ b/backend/services/snapshot-service/src/application/services/snapshot-orchestrator.service.ts @@ -112,10 +112,13 @@ export class SnapshotOrchestratorService implements OnModuleInit { throw new Error(`备份处理器不存在: ${target}`); } + let lastDbWriteTime = 0; const result = await handler.execute(outputDir, (percent, msg) => { this.gateway.emitProgress(taskId, target, percent, msg); - // 进度更新不频繁写库,每10%写一次 - if (percent % 10 === 0) { + // 每 2 秒写一次 DB,保证前端轮询能看到进度变化 + const now = Date.now(); + if (now - lastDbWriteTime >= 2000) { + lastDbWriteTime = now; this.repo.updateDetailProgress(taskId, target, percent).catch(() => {}); } });