From 5366dd47567e00fe22084320a1e633fea923eee2 Mon Sep 17 00:00:00 2001 From: Sung Kim Date: Tue, 25 Aug 2026 19:34:30 +0900 Subject: [PATCH] =?UTF-8?q?=ED=95=A8=EC=88=98=20=EC=83=81=ED=95=9C?= =?UTF-8?q?=EC=9D=84=20800=EC=B4=88=EB=A1=9C=20=EC=98=AC=EB=A6=AC=EA=B3=A0?= =?UTF-8?q?=20=EA=B9=8A=EC=9D=80=20=EA=B5=90=EC=A0=95=EC=9D=98=20=EC=9E=AC?= =?UTF-8?q?=EC=8B=9C=EB=8F=84=EB=A5=BC=20=EB=81=88=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vercel 관측에서 타임아웃이 9% 나왔다. 정독 교정은 Solar를 최대 네 번 부르고 호출당 120초라, 실측 3콜이면 300초 벽에 그대로 걸린다. Pro는 800초까지 올릴 수 있으므로 상한을 옮긴다. 상한만 올리면 보장이 되지 않는다. 재시도가 붙으면 콜당 최악 240초라 네 번이면 960초로 800초도 넘긴다. 120초를 넘긴 호출은 다시 불러도 대개 또 넘기므로, deep에서는 재시도를 끄고 480초 안에 가둔다. Co-Authored-By: Claude Opus 5 --- app/api/mcp/route.ts | 7 ++++--- lib/pipeline.ts | 10 +++++++--- vercel.json | 2 +- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/app/api/mcp/route.ts b/app/api/mcp/route.ts index b57b498..a9b1770 100644 --- a/app/api/mcp/route.ts +++ b/app/api/mcp/route.ts @@ -13,9 +13,10 @@ import { registerTools } from "@/lib/tools"; import { withRequestContext } from "@/lib/context"; export const runtime = "nodejs"; -// 정독 교정은 Solar를 세 번 부른다. Vercel Hobby는 60초로 잘리므로 그 경우 -// depth를 standard 이하로 쓰거나 Pro(최대 300초)로 올려야 한다. -export const maxDuration = 300; +// 정독 교정은 Solar를 세 번(재교정까지 네 번) 부르고 호출당 120초 × 재시도 1회라 +// 최악이면 300초를 넘긴다. Pro/Enterprise는 800초까지 올릴 수 있다. +// Hobby는 300초가 상한이라 그 경우 depth를 standard 이하로 써야 한다. +export const maxDuration = 800; const handler = createMcpHandler( (server) => { diff --git a/lib/pipeline.ts b/lib/pipeline.ts index 2d98deb..090d53f 100644 --- a/lib/pipeline.ts +++ b/lib/pipeline.ts @@ -128,6 +128,10 @@ export async function proofread(opts: ProofreadOptions): Promise