最近在写一个小东西做请求并发,用到 curl_multi_exec,发现个别 url 超时很久的时候,后丢失后面一部分 url
即加入我有 20 条 urls 并发请求时,前面 15 条响应很快,但是后面的 5 条因为该 url 的服务器问题,timeout 时间特别长,所以返回的这堆数据中,大概只能拿到 16 或 17 条 urls 的数据,后面都丢失了
不知大家有无遇到过这种情况?可有解决方法? 代码太乱,就先不贴了
最近在写一个小东西做请求并发,用到 curl_multi_exec,发现个别 url 超时很久的时候,后丢失后面一部分 url
即加入我有 20 条 urls 并发请求时,前面 15 条响应很快,但是后面的 5 条因为该 url 的服务器问题,timeout 时间特别长,所以返回的这堆数据中,大概只能拿到 16 或 17 条 urls 的数据,后面都丢失了
不知大家有无遇到过这种情况?可有解决方法? 代码太乱,就先不贴了
|
fckaSep 4, 2017 via Android
1
PHP 默认执行时长限制为 30 秒
|
|
2MESep 4, 2017
3
减少并发条数试试
|
|
1010011010Sep 4, 2017
4
大概是慢的那个服务器顶不住 5 次同时请求,只响应了一两条,其他的丢了
|
|
gouchaoerSep 4, 2017 via Android
5
用 guzzle 的并发,它包装的 multi_curl_*接口
|
|
lanwairen123Sep 5, 2017 via Android
7
最近发现 php-curlmulti 很不错,用它的并发跑满了我 50m 的带宽,他封装的 multi_curl,接口比较简单,https://github.com/ares333/php-curlmulti
|