diff --git a/scripts/check-database-backup-to-oss.mjs b/scripts/check-database-backup-to-oss.mjs index e92a1cce7..809d54266 100644 --- a/scripts/check-database-backup-to-oss.mjs +++ b/scripts/check-database-backup-to-oss.mjs @@ -152,13 +152,11 @@ async function assertUploadBandwidthLimiterSharesBudgetAndPropagatesErrors() { '必须为空、0 或 >= 1024 的整数', '上传带宽限制必须拒绝过小值。', ); - let nowMs = 0; const delays = []; const limiter = createUploadBandwidthLimiter(1024, { - nowFn: () => nowMs, + nowFn: () => 0, sleepImpl: async (delayMs) => { delays.push(delayMs); - nowMs += delayMs; }, }); const consume = async (stream) => { @@ -173,8 +171,7 @@ async function assertUploadBandwidthLimiterSharesBudgetAndPropagatesErrors() { consume(limiter.wrap(Readable.from([Buffer.alloc(1024), Buffer.alloc(1024)], {objectMode: false}))), ]); assertEqual(firstBytes + secondBytes, 4096, '共享上传限速器不得丢失并发流内容。'); - assertEqual(nowMs, 4000, '两个并发上传流必须共享同一个总带宽预算。'); - assertEqual(delays.reduce((sum, delayMs) => sum + delayMs, 0), 4000, '共享上传限速器必须预约完整字节时长。'); + assertEqual(delays.join(','), '1000,2000,3000,4000', '两个并发上传流必须共享同一个累计带宽预算。'); let sourceError = null; try { diff --git a/scripts/database-backup-to-oss.mjs b/scripts/database-backup-to-oss.mjs index c4a4b1ef6..80fb5392c 100644 --- a/scripts/database-backup-to-oss.mjs +++ b/scripts/database-backup-to-oss.mjs @@ -2630,6 +2630,7 @@ async function uploadExistingArchive({args, env, bucket, endpoint, accessKeyId, objectKey: uploadedManifest.manifestObjectKey, accessKeyId, accessKeySecret, + bandwidthLimiter, }); uploadedManifest.manifestVerifiedAt = manifestUpload.verifiedAt; uploadedManifest.manifestContentLength = manifestUpload.contentLength;