javascript - 如何延长响应超时默认时间?

标签 javascript node.js multithreading express blocking

我在线程阻塞算法方面遇到了一些问题。

我有一条生成包含巨大文件的 zip 的路线。

流程如下: GetUrls>获取HugeSizeBuffer>GenerateZIP>UploadZIPToCloud

我无法使用 express-timeout 模块修改 2 分钟的超时响应默认时间。我也一直在尝试打破 .nextTick() 函数中的漏洞。

我什至尝试过查看排队情况,但我认为这不适用于这种情况。

你们知道如何延长响应时间吗? - 我严格只需要一条路线。

最佳答案

// start the server
const server = app.listen(8080);

// increase the timeout to 4 minutes
server.timeout = 240000;

这是延长服务器超时的最简单方法,但它会影响所有方面,而不仅仅是一种方法。

就您而言(您不希望仅在特定路线上使用):

'use strict';

const ms = require('ms');
const express = require('express');
const router = express.Router();

router.route('/upload-files')
  .post(
    setConnectionTimeout('12h'),
    require('./actions/upload-files').responseHandler
  );

function setConnectionTimeout(time) {
  var delay = typeof time === 'string'
    ? ms(time)
    : Number(time || 5000);

  return function (req, res, next) {
    res.connection.setTimeout(delay);
    next();
  }
}

exports.router = router;

不是我的代码,在这个标题中找到它:Node Express specific timeout value per route

你需要更好地谷歌搜索:)

关于javascript - 如何延长响应超时默认时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47012876/

相关文章:

javascript - 启用日期时间选择器的手动编辑

javascript - Tensorflow.js tf.browser.fromPixels() 必须是 HTMLVideoElement

javascript - 从 JavaScript 中的字符串中删除圆括号 - ( 和 )

javascript - 使用map从数组的数组创建新数组的更好方法

javascript - 将 JSON 从 API 转换为事件流

javascript - 使用 Yeoman 生成器重复提示

python - 在 python 中,如果持有锁,则暂时释放锁

Java - 阻止 GSON 创建一个额外的线程

java - 两个线程,同一个静态变量,同一个值,并发访问

javascript - 从 ajax 调用获取数据并填充模板