在使用带有Iron Router的服务器端路由时,如何从Meteor中删除/增加服务器端连接超时?
使用vanilla Node时有一个修复:https://contourline.wordpress.com/2011/03/30/preventing-server-timeout-in-node-js/
但我无法弄清楚将代码放在上面的示例中,以使其与Meteor和Iron Router一起使用
以下是一个示例路线:
Router.route('veryslowroute', {
path: '/veryslow',
where: 'server',
action: function () {
// Route never rendered in browser. Reducing value here to 110000 will render just fine
Meteor._sleepForMs(120000);
// These I've tried:
// this.response.setTimeout(0);
// this.response.connection.setTimeout(0);
// this.response.connection.server.setTimeout(0);
this.response.writeHead(200, {'Content-Type':'application/json'});
this.response.end(JSON.stringify({
key: 'Sorry for being so slow'
}));
}
});
因此看起来需要在其他地方设置超时。任何人
编辑:看起来这不是关于NodeJS而是关于Meteor本身,可能是webapp-package。仍然无法找到解决方法。在没有Iron Router的情况下直接使用webapp时会发生同样的事情。编辑:现在Meteor中存在一个问题:https://github.com/meteor/meteor/issues/3826