perl LWP:连接超时与请求超时不同

时间:2012-03-15 08:16:55

标签: perl timeout lwp lwp-useragent

我正在使用LWP :: UserAgent与多个服务器上的webservices进行通信;一次只能联系一台服务器。每个响应可能最多需要30分钟才能完成,因此我将LWP超时设置为30分钟。

不幸的是,如果根本无法访问服务器(例如,网络服务器已关闭),则同样的超时也适用。因此,我的应用程序等待30分钟,因为服务器没有运行。

设置两个单独的超时是否可行?

  1. 一个短暂的,等待建立连接。
  2. 一个较长的一个,等待响应,一旦建立连接。

1 个答案:

答案 0 :(得分:0)

如果无法访问服务器,则相同的超时“也不适用”。超时选项以非常具体的方式工作:

  

如果与服务器的连接没有活动,则请求被中止      观察超时秒。这意味着它需要的时间      完成事务和实际返回的request()方法可能是      更长的时间。

只要传递数据,就不会触发超时。您可以使用回调函数(请参阅文档的REQUEST METHODS部分)来检查数据传输的持续时间,并在需要时完全退出。