From 9e280704988fdeffa05c1d8cbb731722f666c6af Mon Sep 17 00:00:00 2001 From: dujinkim Date: Wed, 28 May 2025 00:17:56 +0000 Subject: (대표님) 앱 라우터 api 파트 커밋 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/cron/tags/start/route.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'app/api/cron') diff --git a/app/api/cron/tags/start/route.ts b/app/api/cron/tags/start/route.ts index b506b9a3..3312aad8 100644 --- a/app/api/cron/tags/start/route.ts +++ b/app/api/cron/tags/start/route.ts @@ -13,16 +13,20 @@ const syncJobs = new Map(); export async function POST(request: NextRequest) { try { // 요청 데이터 가져오기 let packageId: number | undefined; - + let mode: string | undefined; + try { const body = await request.json(); packageId = body.packageId; + mode = body.mode; // 모드 정보 추출 + } catch (error) { // 요청 본문이 없거나 JSON이 아닌 경우, URL 파라미터 확인 const searchParams = request.nextUrl.searchParams; @@ -30,6 +34,7 @@ export async function POST(request: NextRequest) { if (packageIdParam) { packageId = parseInt(packageIdParam, 10); } + mode = searchParams.get('mode') || undefined; } // 고유 ID 생성 @@ -39,7 +44,8 @@ export async function POST(request: NextRequest) { syncJobs.set(syncId, { status: 'queued', startTime: new Date(), - packageId + packageId, + mode }); // 비동기 작업 시작 (백그라운드에서 실행) @@ -74,6 +80,8 @@ async function processTagImport(syncId: string) { try { const jobInfo = syncJobs.get(syncId)!; const packageId = jobInfo.packageId; + const mode = jobInfo.mode; // 모드 정보 추출 + // 상태 업데이트: 처리 중 syncJobs.set(syncId, { @@ -98,7 +106,7 @@ async function processTagImport(syncId: string) { }; // 실제 태그 가져오기 실행 - const result = await importTagsFromSEDP(packageId, updateProgress); + const result = await importTagsFromSEDP(packageId, updateProgress, mode); // 명시적으로 캐시 무효화 revalidateTag(`tags-${packageId}`); -- cgit v1.2.3