我正在使用Next.js@latest和应用目录
我的应用程序托管在Vercel上
你知道为什么Vercel会返回504错误吗?我使用的是**专业计划,**我的无服务器功能配置为最多运行5分钟。通常,我的函数需要大约2-3分钟来执行。
在日志中,我可以看到无服务器函数返回了一个200状态代码,并且它正在正确执行。然而,**当我通过浏览器或 Postman 访问它时,大约1分钟后,它返回504错误。
当地一切都很好。会是什么问题呢?
app/API/generators/article/refine/route.ts
import { type NextRequest } from "next/server";
import { type GetArticle } from "@/types/types";
import GeneratorsAPI from "@/lib/GeneratorsApi/GeneratorsAPI";
export const maxDuration = 300;
export async function POST(request: NextRequest) {
const payload = (await request.json()) as GetArticle;
return await GeneratorsAPI.getInstance().getRefinedArticle(payload);
}
lib/GeneratorsAPI
async getRefinedArticle(payload: GetArticle) {
try {
this.validatePayloadWith(this.articleValidator, payload);
const response = await axios.post(this.REFINED, payload, {
headers: this.headers,
timeout: 300000,
});
const data = response as ArticleAPIReturnType;
return NextResponse.json({ data: data.data.data }, { status: 200 });
} catch (err) {
const error = handleError(err, "getRefinedArticle");
return NextResponse.json(
{ message: error.message },
{ status: error.errorCode },
);
}
}
这是来自VERCEL LOGS的/refine路线数据
Status Code: 200
Execution duration/limit: 1m 45.76s / 250s
function: /api/generators/article/refine
Environment: production
1条答案
按热度按时间h43kikqp1#
他们在Vercel那边有问题,已经解决了。