zoukankan      html  css  js  c++  java
  • Nodejs解决2分钟限制

    摘要:解决:在nodejs中调用服务,若超过2分钟服务没有返回数据,node会再次请求服务。 

        加班的日子总算暂时结束了,才发现下午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(0, function(){'写入日志'});

       在每个请求的响应里设置一下,岂不是很麻烦,尝试在端口监听位置,设置,测试后发现,ok。

    var server=http.createServer(app);  
    server.setTimeout(
    0);



  • 相关阅读:
    746. 使用最小花费爬楼梯
    1283. 使结果不超过阈值的最小除数
    307. 区域和检索
    303. 区域和检索
    474. 一和零
    600. 不含连续1的非负整数
    命名规范【转】
    .NET中RabbitMq的使用
    C#中json字符串的序列化和反序列化
    c#发送post请求(带参数)
  • 原文地址:https://www.cnblogs.com/wonglu/p/5058216.html
Copyright © 2011-2022 走看看