【问题标题】:NestJS REST API times out for long running requestNestJS REST API 因长时间运行的请求而超时
【发布时间】:2020-07-02 09:05:34
【问题描述】:

经过长时间的调查,问题似乎是长时间运行的请求超时,并且在 NodeJS 中再次调用了端点。浏览器没有新的网络请求。我做了一些测试,2 分钟后再次调用端点。我读到 NodeJS 中 http 请求的默认超时时间为 2 分钟。

https://nodejs.org/docs/latest-v12.x/api/http.html#http_server_timeout

我正在使用 NestJS (with express),有人知道如何使用 NestJS 框架增加这个超时值吗?

这是我最初的问题:Angular 9 http call with nestjs backend

-贾尼

【问题讨论】:

    标签: node.js rest timeout nestjs


    【解决方案1】:

    您可以使用一些包来应用超时作为中间件。 https://www.npmjs.com/package/@nest-middlewares/connect-timeout

    这个包只是一个 express 中间件的封装,所以一定要在你的项目中使用 express 平台。

    【讨论】:

      【解决方案2】:

      这似乎可以解决每个请求。我不知道如何在服务器级别执行此操作,但这对我来说已经足够了。

      req.setTimeout(300000); // 5 minutes
      

      【讨论】:

      • 我试过了,但它不起作用。我的问题是我需要增加默认的服务器超时(或请求超时)并且该包不会修改它。见这里:stackoverflow.com/questions/55364401/…。我的回答根据该特定要求解决了问题。
      猜你喜欢
      • 1970-01-01
      • 2017-02-06
      • 1970-01-01
      • 2013-05-04
      • 1970-01-01
      • 2018-08-17
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多