diff --git a/src/app/api/gemini/floor-plan/route.js b/src/app/api/gemini/floor-plan/route.js index 8299b07f..6b50d5ae 100644 --- a/src/app/api/gemini/floor-plan/route.js +++ b/src/app/api/gemini/floor-plan/route.js @@ -225,11 +225,11 @@ export async function POST(req) { return NextResponse.json({ error: { code: 'GEMINI_FAILED', message: error?.message || 'Gemini 호출에 실패했습니다.' } }, { status: 500 }) } finally { if (uploadedFileName) { - try { - await fileManager.deleteFile(uploadedFileName) - } catch (deleteError) { + // temp 파일 삭제는 응답을 지연시키지 않도록 await 하지 않고 분리(fire-and-forget)한다. + // 정리용 네트워크 호출이 행(hang)되더라도 클라이언트 응답이 막히지 않는다(미삭제 시 Gemini 측에서 자동 만료). + fileManager.deleteFile(uploadedFileName).catch((deleteError) => { logger.warn('[gemini/floor-plan] deleteFile failed', deleteError?.message || deleteError) - } + }) } } }