diff --git a/Services/server/src/rabbitmq/handler.ts b/Services/server/src/rabbitmq/handler.ts index 74d8126..e6f3aa6 100644 --- a/Services/server/src/rabbitmq/handler.ts +++ b/Services/server/src/rabbitmq/handler.ts @@ -41,9 +41,19 @@ export async function handler(key: string, event: string): Promise { } if (!cachedMetadata[key]) { - const stat = await minioClient.statObject(bucket, pathname); - cachedMetadata[key] = { size: stat.size, type: stat.metaData["content-type"] }; - if (stat.size > 1024 * 1024 * 100) cachedBuffer[key] = Buffer.from([]); + try { + const stat = await minioClient.statObject(bucket, pathname); + cachedMetadata[key] = { size: stat.size, type: stat.metaData["content-type"] }; + if (stat.size > 1024 * 1024 * 100) cachedBuffer[key] = Buffer.from([]); + } catch (e: any) { + if (e.code === "NoSuchKey") { + console.info(`[AMQ] Key: ${key} received but cannot be found.`); + delete cachedBuffer[key]; + delete cachedMetadata[key]; + await ensureDelete(pathname); + return true; + } + } } if (!cachedBuffer[key]) {