diff --git a/src/source/GitHubDownload.ts b/src/source/GitHubDownload.ts index 5830d44..2c47b41 100644 --- a/src/source/GitHubDownload.ts +++ b/src/source/GitHubDownload.ts @@ -106,7 +106,9 @@ export default class GitHubDownload extends GitHubBase implements SourceBase { try { const downloadStream = got.stream(response.url); - downloadStream.addListener("downloadProgress", (p) => (progress = p)); + downloadStream.addListener("downloadProgress", async (p) => { + progress = p; + }); await storage.extractZip(originalPath, downloadStream, undefined, this); } catch (error) { await this.repository.updateStatus( diff --git a/src/storage/S3.ts b/src/storage/S3.ts index 3f11051..21cf615 100644 --- a/src/storage/S3.ts +++ b/src/storage/S3.ts @@ -71,10 +71,10 @@ export default class S3Storage implements StorageBase { /** @override */ async rm(dir: string): Promise { if (!config.S3_BUCKET) throw new Error("S3_BUCKET not set"); - const data = await this.client().listObjectsV2({ + const data = await this.client(200000).listObjectsV2({ Bucket: config.S3_BUCKET, Prefix: dir, - MaxKeys: 1000, + MaxKeys: 100, }); const params = { @@ -92,7 +92,7 @@ export default class S3Storage implements StorageBase { // nothing to remove return; } - await this.client().deleteObjects(params); + await this.client(200000).deleteObjects(params); if (data.IsTruncated) { await this.rm(dir); @@ -249,11 +249,9 @@ export default class S3Storage implements StorageBase { }; } }, + maxParallel: 10, }); - pipeline(data, toS3, (err) => { - if (err) reject(err); - else resolve(); - }) + pipeline(data, toS3, () => {}) .on("finish", resolve) .on("error", reject); });