Параллельные запросы с HtmlUnit
Вот мой код:
def search = {item->
def url = "http://localhost:8080/search/"+item
println 'url='+ url
page = webClient.getPage(url);
println 'pageURL=' + page.url
}
GParsPool.withPool(5) {
searchList.each {item-> search.callAsync(item) }
}
Это печатает это:
url=http://localhost:8080/search/1
url=http://localhost:8080/search/3
url=http://localhost:8080/search/5
url=http://localhost:8080/search/4
url=http://localhost:8080/search/2
pageURL=http://localhost:8080/search/5
pageURL=http://localhost:8080/search/5
pageURL=http://localhost:8080/search/5
pageURL=http://localhost:8080/search/5
url=http://localhost:8080/search/7
url=http://localhost:8080/search/6
pageURL=http://localhost:8080/search/5
url=http://localhost:8080/search/9
url=http://localhost:8080/search/8
url=http://localhost:8080/search/10
pageURL=http://localhost:8080/search/10
pageURL=http://localhost:8080/search/8
pageURL=http://localhost:8080/search/6
pageURL=http://localhost:8080/search/6
pageURL=http://localhost:8080/search/6
Почему pageURL не соответствуют URL? Есть несколько запросов на элемент 5 и нет запросов на элемент 1.