1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package org.archive.crawler.frontier;
24
25 import java.io.File;
26 import java.io.IOException;
27
28 import org.archive.crawler.datamodel.CandidateURI;
29
30 /***
31 * Record of key Frontier happenings.
32 * @author stack
33 * @version $Date: 2008-07-11 22:14:18 +0000 (Fri, 11 Jul 2008) $, $Revision: 5870 $
34 */
35 public interface FrontierJournal {
36 public static final String LOGNAME_RECOVER = "recover.gz";
37
38 /***
39 * @param curi CrawlURI that has been scheduled to be added to the
40 * Frontier.
41 */
42 public abstract void added(CandidateURI curi);
43
44 /***
45 * @param curi CrawlURI that finished successfully.
46 */
47 public abstract void finishedSuccess(CandidateURI curi);
48
49 /***
50 * Note that a CrawlURI was emitted for processing.
51 * If not followed by a finished or rescheduled notation in
52 * the journal, the CrawlURI was still in-process when the journal ended.
53 *
54 * @param curi CrawlURI emitted.
55 */
56 public abstract void emitted(CandidateURI curi);
57
58
59 /***
60 * @param curi CrawlURI finished unsuccessfully.
61 */
62 public abstract void finishedFailure(CandidateURI curi);
63
64 /***
65 * @param curi CrawlURI finished disregarded (uncounted failure).
66 */
67 public abstract void finishedDisregard(CandidateURI curi);
68
69 /***
70 * @param curi CrawlURI that was returned to the Frontier for
71 * another try.
72 */
73 public abstract void rescheduled(CandidateURI curi);
74
75 /***
76 * Flush and close any held objects.
77 */
78 public abstract void close();
79
80 /***
81 * Checkpoint.
82 * @param checkpointDir Directory we're checkpointing into.
83 * @throws IOException
84 */
85 public abstract void checkpoint(final File checkpointDir)
86 throws IOException;
87
88 /***
89 * Add a line noting a serious crawl error.
90 *
91 * @param string
92 */
93 public abstract void seriousError(String string);
94 }