2011-05-16 70 views
0

我最近做了一个从0.2.6升级到0.4.7的老化应用程序。升级过程非常顺利,大部分问题似乎与图书馆有关。我正在使用快递服务器休息API调用。Node.js从0.2.6升级到0.4.7的超时问题?

当应用程序启动时,会发生很多预取。有一些非常慢的电话会被启动。在节点0.2.6上,这些调用将在15-30秒内返回任何地方。升级后,一分钟(!)之后的呼叫会在超出我们在其他地方设置的超时限制之后返回,因此应用会中断。

node.js中是否有任何更改会导致此问题?也许关于最大同时连接的一些东西请求和表达的最新版本呢?

+1

哪些特定操作需要四倍的时间? – sarnold 2011-05-16 22:50:53

+1

请张贴一些示例代码。 – 2011-05-17 00:07:34

回答

0

节点0.4引入了节流。请求尊重http.Agent.maxSockets的默认值,即5。当我强制将其设置为100时,页面会再次停止超时。我想通了这一点通过读取请求docmentation:

由于节点0.4.0有一个内部 池机制的 共享连接的首选方法是使用代理 这要求简化了它的新 池API。

以及与选项对象:

  • pool - 包含这些请求代理的哈希对象。如果省略了 ,则此请求将使用设置为节点的默认maxSockets的节点 的全局池 。
  • pool.maxSockets - 包含池中最大数量的 套接字的整数。