public interface FetchSchedule extends Configurable
| Modifier and Type | Field and Description |
|---|---|
static int |
SECONDS_PER_DAY |
static int |
STATUS_MODIFIED
Page is known to have been modified since our last visit.
|
static int |
STATUS_NOTMODIFIED
Page is known to remain unmodified since our last visit.
|
static int |
STATUS_UNKNOWN
It is unknown whether page was changed since our last visit.
|
| Modifier and Type | Method and Description |
|---|---|
long |
calculateLastFetchTime(WebPage page)
Calculates last fetch time of the given CrawlDatum.
|
void |
forceRefetch(java.lang.String url,
WebPage row,
boolean asap)
This method resets fetchTime, fetchInterval, modifiedTime and page
signature, so that it forces refetching.
|
java.util.Collection<WebPage.Field> |
getFields() |
void |
initializeSchedule(java.lang.String url,
WebPage page)
Initialize fetch schedule related data.
|
void |
setFetchSchedule(java.lang.String url,
WebPage page,
long prevFetchTime,
long prevModifiedTime,
long fetchTime,
long modifiedTime,
int state)
Sets the
fetchInterval and fetchTime on a
successfully fetched page. |
void |
setPageGoneSchedule(java.lang.String url,
WebPage page,
long prevFetchTime,
long prevModifiedTime,
long fetchTime)
This method specifies how to schedule refetching of pages marked as GONE.
|
void |
setPageRetrySchedule(java.lang.String url,
WebPage page,
long prevFetchTime,
long prevModifiedTime,
long fetchTime)
This method adjusts the fetch schedule if fetching needs to be re-tried due
to transient errors.
|
boolean |
shouldFetch(java.lang.String url,
WebPage page,
long curTime)
This method provides information whether the page is suitable for selection
in the current fetchlist.
|
getConf, setConfstatic final int STATUS_UNKNOWN
static final int STATUS_MODIFIED
static final int STATUS_NOTMODIFIED
static final int SECONDS_PER_DAY
void initializeSchedule(java.lang.String url,
WebPage page)
fetchTime and fetchInterval. The default
implementation set the fetchTime to now, using the default
fetchInterval.url - URL of the page.page - WebPage object relative to the URLvoid setFetchSchedule(java.lang.String url,
WebPage page,
long prevFetchTime,
long prevModifiedTime,
long fetchTime,
long modifiedTime,
int state)
fetchInterval and fetchTime on a
successfully fetched page. Implementations may use supplied arguments to
support different re-fetching schedules.url - url of the pagepage - WebPage object relative to the URLprevFetchTime - previous value of fetch time, or -1 if not availableprevModifiedTime - previous value of modifiedTime, or -1 if not availablefetchTime - the latest time, when the page was recently re-fetched.modifiedTime - last time the content was modified. This information comes from
the protocol implementations, or is set to < 0 if not available.state - if STATUS_MODIFIED, then the content is considered to be
"changed" before the fetchTime, if
STATUS_NOTMODIFIED then the content is known to be
unchanged. This information may be obtained by comparing page
signatures before and after fetching. If this is set to
STATUS_UNKNOWN, then it is unknown whether the page was
changed; implementations are free to follow a sensible default
behavior.void setPageGoneSchedule(java.lang.String url,
WebPage page,
long prevFetchTime,
long prevModifiedTime,
long fetchTime)
url - URL of the pagepage - WebPage object relative to the URLvoid setPageRetrySchedule(java.lang.String url,
WebPage page,
long prevFetchTime,
long prevModifiedTime,
long fetchTime)
url - URL of the pagepage - WebPage object relative to the URLprevFetchTime - previous fetch timeprevModifiedTime - previous modified timefetchTime - current fetch timelong calculateLastFetchTime(WebPage page)
boolean shouldFetch(java.lang.String url,
WebPage page,
long curTime)
fetchTime, if it is higher than theurl - URL of the pagecurTime - reference time (usually set to the time when the fetchlist
generation process was started).void forceRefetch(java.lang.String url,
WebPage row,
boolean asap)
url - URL of the pageasap - if true, force refetch as soon as possible - this sets the
fetchTime to now. If false, force refetch whenever the next fetch
time is set.java.util.Collection<WebPage.Field> getFields()
Copyright © 2019 The Apache Software Foundation