File tree 1 file changed +16
-5
lines changed
1 file changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -76,13 +76,24 @@ export async function s3Sync({
76
76
const targetKeys = filesToUpload . map ( ( file ) =>
77
77
targetPathPrefix !== undefined ? path . posix . join ( targetPathPrefix , file ) : file
78
78
) ;
79
+
79
80
const keysToDelete = findKeysToDelete ( Object . keys ( existingS3Objects ) , targetKeys ) ;
80
81
if ( keysToDelete . length > 0 ) {
81
- keysToDelete . map ( ( key ) => {
82
- getUtils ( ) . log . verbose ( `Deleting ${ key } ` ) ;
83
- fileChangeCount ++ ;
84
- } ) ;
85
- await s3Delete ( aws , bucketName , keysToDelete ) ;
82
+ const batch = chunk ( keysToDelete , 1000 ) ;
83
+
84
+ await Promise . all (
85
+ batch . map ( async ( keysToDeleteChunk , index ) => {
86
+ getUtils ( ) . log . verbose ( `Deleting chunk #${ index } ` ) ;
87
+
88
+ keysToDeleteChunk . map ( ( key ) => {
89
+ getUtils ( ) . log . verbose ( `Deleting ${ key } ` ) ;
90
+ fileChangeCount ++ ;
91
+ } ) ;
92
+
93
+ await s3Delete ( aws , bucketName , keysToDeleteChunk ) ;
94
+ } )
95
+ ) ;
96
+
86
97
hasChanges = true ;
87
98
}
88
99
You can’t perform that action at this time.
0 commit comments