【问题标题】:Handling an arbitrarily long request in node.js在 node.js 中处理任意长的请求
【发布时间】:2015-12-17 22:43:49
【问题描述】:

我有一个端点,可以分析两个日期之间提交到我的网页的所有项目,然后下载包含结果的 CSV 文件。现在我有一个快速端点,它允许用户选择日期,然后提交到服务器,然后服务器需要做一些工作,最终会触发使用 csv 模块下载 csv 文件。

如果用户选择了一个合理的窄日期范围,但随着范围的扩大,这个过程可能需要比 nginx 超时时间更长的时间。我可以简单地增加超时时间,但在某些时候这会崩溃。我怎样才能重新设计它以免陷入可能的超时?

【问题讨论】:

    标签: node.js nginx timeout


    【解决方案1】:

    如果您要强制请求超时,那么您最好的选择可能是拥有某种“票证”系统,在该系统中服务器会立即使用某种令牌(“票证”)进行响应,以便稍后使用检查提交作业的状态。

    从那里你也许可以生成一个返回当前状态的链接(以及可选的附加下载链接),或者如果你想获得幻想,你可以使用socket.io 之类的东西来让客户尽快得到自动通知随着作业完成(并提供下载链接)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      相关资源
      最近更新 更多