Changed S3 delete error handling.
This commit is contained in:
parent
dc04577a6c
commit
b5eddf61f9
56
src/media.js
56
src/media.js
|
@ -1000,41 +1000,37 @@ async function associateAvatars(profiles) {
|
|||
}
|
||||
|
||||
async function deleteS3Objects(allMedia) {
|
||||
try {
|
||||
const statuses = await chunk(allMedia).reduce(async (chain, media) => {
|
||||
const acc = await chain;
|
||||
const statuses = await chunk(allMedia).reduce(async (chain, media) => {
|
||||
const acc = await chain;
|
||||
|
||||
const objects = media
|
||||
.map((item) => [
|
||||
{ Key: item.path },
|
||||
{ Key: item.thumbnail },
|
||||
{ Key: item.lazy },
|
||||
])
|
||||
.flat()
|
||||
.filter((item) => item.Key);
|
||||
const objects = media
|
||||
.map((item) => [
|
||||
{ Key: item.path },
|
||||
{ Key: item.thumbnail },
|
||||
{ Key: item.lazy },
|
||||
])
|
||||
.flat()
|
||||
.filter((item) => item.Key);
|
||||
|
||||
const deleteCommand = new DeleteObjectsCommand({
|
||||
Bucket: config.s3.bucket,
|
||||
Delete: {
|
||||
Objects: objects,
|
||||
Quiet: false,
|
||||
},
|
||||
});
|
||||
|
||||
const status = await s3.send(deleteCommand);
|
||||
|
||||
logger.info(`Removed ${status.Deleted.length} media files from S3 bucket '${config.s3.bucket}', ${status.Errors.length} errors`);
|
||||
|
||||
return acc.concat(status);
|
||||
}, Promise.resolve()).catch((error) => {
|
||||
console.log(error);
|
||||
const deleteCommand = new DeleteObjectsCommand({
|
||||
Bucket: config.s3.bucket,
|
||||
Delete: {
|
||||
Objects: objects,
|
||||
Quiet: false,
|
||||
},
|
||||
});
|
||||
|
||||
return statuses;
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
const status = await s3.send(deleteCommand);
|
||||
|
||||
logger.info(`Removed ${status.Deleted.length} media files from S3 bucket '${config.s3.bucket}', ${status.Errors.length} errors`);
|
||||
|
||||
return acc.concat(status);
|
||||
}, Promise.resolve()).catch((error) => {
|
||||
logger.error(`Failed to delete S3 objects: ${error.message}`);
|
||||
throw error;
|
||||
}
|
||||
});
|
||||
|
||||
return statuses;
|
||||
}
|
||||
|
||||
async function flushOrphanedMedia(stage = 1) {
|
||||
|
|
Loading…
Reference in New Issue