我在线程阻塞算法方面遇到了一些问题。
我有一条生成包含巨大文件的 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/