extension point for LocalDuplicatedRemovedScheduler #95

master
yihua.huang 2014-04-13 23:31:13 +08:00
parent b249e49748
commit 4a035e729a
1 changed files with 5 additions and 1 deletions

View File

@ -24,11 +24,15 @@ public abstract class LocalDuplicatedRemovedScheduler implements Scheduler {
@Override @Override
public void push(Request request, Task task) { public void push(Request request, Task task) {
logger.trace("get a candidate url {}", request.getUrl()); logger.trace("get a candidate url {}", request.getUrl());
if (request.getExtra(Request.CYCLE_TRIED_TIMES) != null || urls.add(request.getUrl())) { if (urls.add(request.getUrl()) || shouldReserved(request)) {
logger.debug("push to queue {}", request.getUrl()); logger.debug("push to queue {}", request.getUrl());
pushWhenNoDuplicate(request, task); pushWhenNoDuplicate(request, task);
} }
} }
protected boolean shouldReserved(Request request) {
return request.getExtra(Request.CYCLE_TRIED_TIMES) != null;
}
protected abstract void pushWhenNoDuplicate(Request request, Task task); protected abstract void pushWhenNoDuplicate(Request request, Task task);
} }