#46 Downloader thread hang up when timeout
parent
486d9d276f
commit
6a828e923c
|
@ -27,12 +27,12 @@ webmagic使用maven管理依赖,在项目中添加对应的依赖即可使用w
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>us.codecraft</groupId>
|
<groupId>us.codecraft</groupId>
|
||||||
<artifactId>webmagic-core</artifactId>
|
<artifactId>webmagic-core</artifactId>
|
||||||
<version>0.4.0</version>
|
<version>0.4.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>us.codecraft</groupId>
|
<groupId>us.codecraft</groupId>
|
||||||
<artifactId>webmagic-extension</artifactId>
|
<artifactId>webmagic-extension</artifactId>
|
||||||
<version>0.4.0</version>
|
<version>0.4.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
#### 项目结构
|
#### 项目结构
|
||||||
|
|
|
@ -105,6 +105,7 @@ public class HttpClientDownloader implements Downloader {
|
||||||
}
|
}
|
||||||
RequestConfig.Builder requestConfigBuilder = RequestConfig.custom()
|
RequestConfig.Builder requestConfigBuilder = RequestConfig.custom()
|
||||||
.setConnectionRequestTimeout(site.getTimeOut())
|
.setConnectionRequestTimeout(site.getTimeOut())
|
||||||
|
.setSocketTimeout(site.getTimeOut())
|
||||||
.setConnectTimeout(site.getTimeOut())
|
.setConnectTimeout(site.getTimeOut())
|
||||||
.setCookieSpec(CookieSpecs.BEST_MATCH);
|
.setCookieSpec(CookieSpecs.BEST_MATCH);
|
||||||
if (site != null && site.getHttpProxy() != null) {
|
if (site != null && site.getHttpProxy() != null) {
|
||||||
|
|
|
@ -93,6 +93,7 @@ public class ScriptConsole {
|
||||||
.language(params.getLanguage()).scriptFromFile(params.getScriptFileName()).thread(params.getThread()).build();
|
.language(params.getLanguage()).scriptFromFile(params.getScriptFileName()).thread(params.getThread()).build();
|
||||||
pageProcessor.getSite().setSleepTime(params.getSleepTime());
|
pageProcessor.getSite().setSleepTime(params.getSleepTime());
|
||||||
pageProcessor.getSite().setAcceptStatCode(Sets.<Integer>newHashSet(200, 404, 500));
|
pageProcessor.getSite().setAcceptStatCode(Sets.<Integer>newHashSet(200, 404, 500));
|
||||||
|
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");
|
||||||
Spider spider = Spider.create(pageProcessor).thread(params.getThread());
|
Spider spider = Spider.create(pageProcessor).thread(params.getThread());
|
||||||
spider.clearPipeline().addPipeline(new Pipeline() {
|
spider.clearPipeline().addPipeline(new Pipeline() {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,6 +34,7 @@ public class ScriptEnginePool {
|
||||||
|
|
||||||
public void release(ScriptEngine scriptEngine){
|
public void release(ScriptEngine scriptEngine){
|
||||||
scriptEngines.add(scriptEngine);
|
scriptEngines.add(scriptEngine);
|
||||||
|
availableCount.incrementAndGet();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue