Commit 6b9d21fc authored by Yihua Huang's avatar Yihua Huang

Merge pull request #188 from EdwardsBean/retry_time

add retry sleep time
parents 8ffc1a70 49786656
...@@ -39,6 +39,8 @@ public class Site { ...@@ -39,6 +39,8 @@ public class Site {
private int cycleRetryTimes = 0; private int cycleRetryTimes = 0;
private int retrySleepTime = 1000;
private int timeOut = 5000; private int timeOut = 5000;
private static final Set<Integer> DEFAULT_STATUS_CODE_SET = new HashSet<Integer>(); private static final Set<Integer> DEFAULT_STATUS_CODE_SET = new HashSet<Integer>();
...@@ -359,6 +361,20 @@ public class Site { ...@@ -359,6 +361,20 @@ public class Site {
return useGzip; return useGzip;
} }
public int getRetrySleepTime() {
return retrySleepTime;
}
/**
* Set retry sleep times when download fail, 1000 by default. <br>
*
* @param retrySleepTime
*/
public Site setRetrySleepTime(int retrySleepTime) {
this.retrySleepTime = retrySleepTime;
return this;
}
/** /**
* Whether use gzip. <br> * Whether use gzip. <br>
* Default is true, you can set it to false to disable gzip. * Default is true, you can set it to false to disable gzip.
......
...@@ -407,14 +407,14 @@ public class Spider implements Runnable, Task { ...@@ -407,14 +407,14 @@ public class Spider implements Runnable, Task {
protected void processRequest(Request request) { protected void processRequest(Request request) {
Page page = downloader.download(request, this); Page page = downloader.download(request, this);
if (page == null) { if (page == null) {
sleep(site.getSleepTime()); sleep(site.getRetrySleepTime());
onError(request); onError(request);
return; return;
} }
// for cycle retry // for cycle retry
if (page.isNeedCycleRetry()) { if (page.isNeedCycleRetry()) {
extractAndAddRequests(page, true); extractAndAddRequests(page, true);
sleep(site.getSleepTime()); sleep(site.getRetrySleepTime());
return; return;
} }
pageProcessor.process(page); pageProcessor.process(page);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment