我对线程阻塞算法有一点问题。
我有一条生成带有大尺寸文件的zip的路线。
流程的工作原理如下: GetUrls> ObtainHugeSizeBuffer> GenerateZIP> UploadZIPToCloud
我无法使用express-timeout
模块修改超时响应默认时间2分钟。我也一直试图打破.nextTick()
功能的漏洞。
我甚至试图查看排队但我不认为这适用于这种情况。
你们有没有想过如何扩大响应时间? - 我只需要一条路线。
答案 0 :(得分:0)
// 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;
不是我的代码,在这个thead中找到它:Node Express specific timeout value per route
你需要谷歌更好:)