我在一个NextJS项目上有一个API端点,它需要超过60秒才能运行.我正在进行职业球员计划,但出于某种原因,我不能让暂停限制增加.

在端点本身,我try

export const maxDuration = 300
export const dynamic = 'force-dynamic'

这似乎没有做任何事情,我还try 在顶层(/src以上)添加一个vercel.json文件,如下所示:

{
    "functions": {
        "pages/api/**": {
            "memory": 3008,
            "maxDuration": 300
        },
    }
}

这又一次没有奏效.我已经梳理了文档(大部分是here个)和一些线程(one example个),但都没有帮助.

我正在运行NextJs版本13.5.6,绝对是在专业计划中,而Node v18,我做错了什么?我真的不知道还能try 什么.

推荐答案

您所做的似乎是PAG路由方式和应用程序路由方式的混合.试着像下面这个例子那样做:

With Pages Router (100):

export const config = {
  maxDuration: 5, // 5 seconds
};

export default function handler(
  request: NextApiRequest,
  response: NextApiResponse,
) {
  response.status(200).json({});
}

With App Router (100):

export const maxDuration = 5; // 5 seconds
export const dynamic = 'force-dynamic';

export function GET(request: Request) {
  return new Response('{}', { status: 200 });
}

如果你想在使用Vercel时覆盖整个项目的函数的最大时长,可以在vercel.json(我认为这只对App Router有效):

{
  "functions": {
    "app/api/**/*": {
      "maxDuration": 5
    }
  }
}

你可以在official docs上阅读更多关于这一切的信息.

Javascript相关问答推荐

如何在pixi js中画一条简单的线

我的YouTube视频没有以html形式显示,以获取免费加密信号

如何将拖放功能添加到我已自定义为图像的文件输入HTML标签中?

React:未调用useState变量在调试器的事件处理程序中不可用

使用TMS Web Core中的HTML模板中的参数调用过程

Vega中的模运算符

我在这个黑暗模式按钮上做错了什么?

使用下表中所示的值初始化一个二维数组

如何从一个列表中创建一个2列的表?

将旋转的矩形zoom 到覆盖它所需的最小尺寸&S容器

在带有背景图像和圆形的div中添加长方体阴影时的重影线

用于编辑CSS样式的Java脚本

在JS中拖放:检测文件

保持物品顺序的可变大小物品分配到平衡组的算法

Angular 中的类型错误上不存在获取属性

以编程方式聚焦的链接将被聚焦,但样式不适用

我想将Sitecore搜索面过滤器从多个转换为单个

如何使用Astro优化大图像?

如何使用抽屉屏幕及其子屏幕/组件的上下文?

react 路由DOM有条件地呈现元素