diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-28 00:17:56 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-05-28 00:17:56 +0000 |
| commit | 9e280704988fdeffa05c1d8cbb731722f666c6af (patch) | |
| tree | bbf57b3c882502dc7afd2ff770d95aca69fca0d9 /app/api/cron | |
| parent | 44356f1b203da5169db42950a42a8146f612c674 (diff) | |
(대표님) 앱 라우터 api 파트 커밋
Diffstat (limited to 'app/api/cron')
| -rw-r--r-- | app/api/cron/tags/start/route.ts | 14 |
1 files changed, 11 insertions, 3 deletions
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<string, { error?: string; progress?: number; packageId?: number; + mode?: string }>(); 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}`); |
