Nodejs解决2分钟限制
加班的日子总算暂时结束了,才发现下午6点钟的天还没有黑!开始我的总结吧。。。
去年的某个项目用nodejs开发,前端和部分后端放到nodejs中处理,与数据库的交互是用C#写的WCF服务。然后前端用Ajax请求,node后端调用WCF服务取数据。 由于表中数据量很大,查询速度很慢,加上查询出的数据,需要经过一些表关联显示,所以处理时间较长。几次测试之后发现,在整整2分钟的时候,若服务还没有返回数据,就响应为再次请求,显然,这个是不行的。首先想到把Ajax请求的超时时间设置下,测试发现不可行。调试后发现,2分钟后node会再次发起请求。网上查找好多资料,发现node用户还是比较少吧,资料很少。忘记在哪个地址看到说node有个默认2分钟机制,超过后会再次请求,给http设置超时时间为0即可解决,到官网一看,果然有个setTimeout方法:
https://nodejs.org/api/http.html#http_response_settimeout_msecs_callback
加上如下代码之后,即可解决:
response.setTimeout(, function(){'写入日志'});
在每个请求的响应里设置一下,岂不是很麻烦,尝试在端口监听位置,设置,测试后发现,ok。
var server=http.createServer(app);
server.setTimeout();
Nodejs解决2分钟限制的更多相关文章
- Nodejs解决所有跨域请求
Nodejs解决所有跨域请求 app.use(function(req, res, next) { res.setHeader('Access-Control-Allow-Origin', '*'); ...
- CentOS 无法通过 yum 安装新版 nodejs 解决办法(安装的还是老版的)
官网安装说明:CentOS 安装 nodejs 第一步: curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo b ...
- [nodejs]解决mysql和连接池(pool)自动断开问题
最近在做一个个人项目,数据库尝试使用了mongodb.sqlite和mysql.分享一下关于mysql的连接池用法.项目部署于appfog,项目中我使用连接池链接数据库,本地测试一切正常.上线以后,经 ...
- nodejs解决找不到express命令的问题
一般的书或者教程上的安装步骤是:(需要是-g,即全局安装) npm install -g express //全局安装 而我们应该多多关注下express的文档,github地址:https://gi ...
- nodejs 解决跨域
1.失败 app.all('*', function (req, res, next) { res.header("Access-Control-Allow-Origin", &q ...
- frp+TeamViewer 完美解决TeamViewer5分钟商业提醒
必要条件:必须有一个公网服务器 frp是一个开源的端口转发工具,中文使用说明及下载地址在这里 https://github.com/fatedier/frp/blob/master/README_z ...
- [NodeJS] 优缺点及适用场景讨论
概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...
- Nodejs系列-01-开篇
1.解决什么问题 1. 并发连接 举个例子,想象一个场景,我们在银行排队办理业务,我们看看下面两个模型. (1)系统线程模型: 这种模型的问题显而易见,服务端只有一个线程,并发请求(用户)到达只能处理 ...
- NodeJS优缺点及适用场景讨论
概述:NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. N ...
随机推荐
- apple-touch-icon,shortcut icon和icon的区别(手机站发送到手机桌面图标自定义)
apple-touch-icon 可以了解到这是一个类似网站favicon的图标文件,用来在iphone和ipod上创建快捷键时使用. 这个文件应当是png格式,57x57像素大小,放在网站根目录之下 ...
- laravel 取sql语句
\DB::connection()->enableQueryLog(); some sql action... $query = \DB::getQueryLog(); $lastQuery = ...
- (转)js一道比较考验的题目
转载下别人曾经出过的一道面试题,此题是他出的一套前端面试题中的最后一题,用来考核面试者的JavaScript的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非多难只是因为大多面试者 ...
- javascript小实例,PC网页里的拖拽
几年前,我参与设计开发一个房产网的项目,我负责前端工作,由于项目经理要求比较高,参考了很多房产类网站比较优秀的功能,想把别人比较优秀的设计和想法集合到一起,那时的设计稿和功能实现,简直就是改了又改,今 ...
- BLE Device Monitor的使用
1 综述 BLE Device Monitor是一个用来显示任意蓝牙低功耗设备服务(services).特征(characteristics).属性(attributes)的windows程序.除了测 ...
- background:transparent的作用
background的属性值 background : background-color | background-image | background-repeat | background-att ...
- node express 学习2
上次我们的express已经安装好了 接下来我们修改渲染引擎为html // view engine setup app.set('views', path.join(__dirname, 'view ...
- UIBezierPath 画线
使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中.此类是Core Graphics框架关于path的一个封装.使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线 ...
- imx6 framebuffer 分析
分析imx6 framebuffer设备和驱动的注册过程. Tony Liu, 2016-8-31, Shenzhen 相关文件: arch/arm/mach-mx6/board-mx6q_sabre ...
- Change Tracking of SQLServer
1.Enable the change tracking at the database level. ALTER DATABASE AdventureWorks2008 SET CHANGE_TRA ...