Skip to content

Commit 6a828e9

Browse files
committed
#46 Downloader thread hang up when timeout
1 parent 486d9d2 commit 6a828e9

File tree

4 files changed

+5
-2
lines changed

4 files changed

+5
-2
lines changed

user-manual.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ webmagic使用maven管理依赖,在项目中添加对应的依赖即可使用w
2727
<dependency>
2828
<groupId>us.codecraft</groupId>
2929
<artifactId>webmagic-core</artifactId>
30-
<version>0.4.0</version>
30+
<version>0.4.1</version>
3131
</dependency>
3232
<dependency>
3333
<groupId>us.codecraft</groupId>
3434
<artifactId>webmagic-extension</artifactId>
35-
<version>0.4.0</version>
35+
<version>0.4.1</version>
3636
</dependency>
3737

3838
#### 项目结构

webmagic-core/src/main/java/us/codecraft/webmagic/downloader/HttpClientDownloader.java

+1
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ public Page download(Request request, Task task) {
105105
}
106106
RequestConfig.Builder requestConfigBuilder = RequestConfig.custom()
107107
.setConnectionRequestTimeout(site.getTimeOut())
108+
.setSocketTimeout(site.getTimeOut())
108109
.setConnectTimeout(site.getTimeOut())
109110
.setCookieSpec(CookieSpecs.BEST_MATCH);
110111
if (site != null && site.getHttpProxy() != null) {

webmagic-scripts/src/main/java/us/codecraft/webmagic/scripts/ScriptConsole.java

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ private static void startSpider(Params params) {
9393
.language(params.getLanguage()).scriptFromFile(params.getScriptFileName()).thread(params.getThread()).build();
9494
pageProcessor.getSite().setSleepTime(params.getSleepTime());
9595
pageProcessor.getSite().setAcceptStatCode(Sets.<Integer>newHashSet(200, 404, 500));
96+
pageProcessor.getSite().setUserAgent("Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5");
9697
Spider spider = Spider.create(pageProcessor).thread(params.getThread());
9798
spider.clearPipeline().addPipeline(new Pipeline() {
9899
@Override

webmagic-scripts/src/main/java/us/codecraft/webmagic/scripts/ScriptEnginePool.java

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public ScriptEngine getEngine() {
3434

3535
public void release(ScriptEngine scriptEngine){
3636
scriptEngines.add(scriptEngine);
37+
availableCount.incrementAndGet();
3738
}
3839

3940
}

0 commit comments

Comments
 (0)