Vercel Serverless 函数出现超时错误

Ope*_*eyi 18 server serverless-framework nuxt.js serverless vercel

我在 Vercel 上部署了一个 Nuxt.js 服务器端网站。我注意到,在某些情况下,我会收到504: GATEWAY_TIMEOUT错误,并显示代码FUNCTION_INVOCATION_TIMEOUT和消息“此无服务器函数已超时”。

为什么我会看到这个错误?

无服务器函数已超时

Tal*_*dar 27

Vercel 施加了一些限制。这包括无服务器函数执行超时,这基本上是允许无服务器函数在必须响应之前处理 HTTP 请求的时间量。

如果需要更长的执行超时,可以尝试使用Edge 函数。他们必须在 30 秒内返回响应,但可以无限期地进行流式传输。

最近,他们默默地将无服务器功能执行超时从爱好计划的 10 秒、专业计划的 60 秒和企业计划的 1000 秒分别减少到 5 秒、15 秒和 30 秒。这可能就是您现在遇到此错误的原因。

我真的不喜欢他们在没有警告用户(至少我没有被警告)并给他们时间调整的情况下降低了这些限制。

  • 我不会感到惊讶,他们以前就这样做过(当时公司名称为 Zeit),当时他们在没有咨询客户或给他们太多时间升级网站的情况下就弃用了 API v1。迁移并不容易,他们不得不放弃使用 Docker。许多开发人员抱怨必须迁移 Planform 上的所有网站才能继续使用他们的服务。 (4认同)
  • 完全有道理,因为我的 API 采用 Heroku 免费计划,并且偶尔会超时 (2认同)

Pav*_*tov 7

截至 2022 年 9 月 7 日,Vercel 上的 Hobby 计划支持无服务器函数执行超时 10 秒。专业版 60 秒。企业持续 900 秒。 在此输入图像描述

以下是他们的定价计划的链接: https: //vercel.com/pricing