【发布时间】:2012-03-21 00:04:01
【问题描述】:
我知道在使用LWP::UserAgent 时如何处理HTTP::Request 上的timeout 操作,但由于我需要使用HTTP::Async 模块而不是Perl 模块LWP::UserAgent,我正在寻找替代解决方案(s ) 为异步 http 请求设置超时。
【问题讨论】:
标签: perl http asynchronous timeout
我知道在使用LWP::UserAgent 时如何处理HTTP::Request 上的timeout 操作,但由于我需要使用HTTP::Async 模块而不是Perl 模块LWP::UserAgent,我正在寻找替代解决方案(s ) 为异步 http 请求设置超时。
【问题讨论】:
标签: perl http asynchronous timeout
你读过documentation吗?
设置请求的默认超时时间:
# When creating the object:
my $async = HTTP::Async->new( timeout => 300 ); # 5 minutes
# Changing it later:
$async->timeout(600); # 10 minutes
更改单个请求的超时时间:
$async->add_with_opts( $request, { timeout => 600 } ); # 10 minutes
更新:似乎有a bug 而timeout 属性实际上不起作用。
【讨论】:
max_request_time 选项,根本没有使用 timeout 选项。为什么?那么timeout option 是干什么用的?我不知道为什么会有两个设置:max_request_time 和 timeout。
timeout 秒或 max_request_time 秒内没有收到任何数据,则请求中止,以先到者为准.即,timeout 每次收到数据时都会重置,但max_request_time 不会。