CSDN博客

img caoxu1987728

IWorkloadStorable接口的实现

发表于2008/10/1 21:33:00  359人阅读

 IWorkloadStorable接口:

Spider的主要工作之一就是处理访问过的和将要访问的站点的列表,称为作业。IWorkloadStorable接口定义的对象就可以存入和取出作业中的网页.

最主要的两个方法:

public String assignWorkload();//取出作业里的网页

public void addWorkload(String url);//向作业里存入网页;

除此以外,还有其他的一些方法和成员变量:

  1. package com.heaton.bot;
  2. /**
  3.  * This interface defines a class that can
  4.  * be used to store a spider's workload(作业).
  5.  * The Bot package currently supports two
  6.  * different workload stores:
  7.  *
  8.  * SpiderInternalWorkload - Stores the
  9.  *   contents of the workload in memory.
  10.  *
  11.  * SpiderSQLWorkload - Stores the contents
  12.  *   of the workload in an SQL database.
  13.  */
  14. public interface IWorkloadStorable {
  15.   /**
  16.    * A workload entry has a status of running
  17.    * if the spider worker is opening or downloading
  18.    * that page. This state usually goes to COMPLETE
  19.    * or ERROR.
  20.    */
  21.   public static final char RUNNING = 'R';
  22.   /**
  23.    * Processing of this URL resulted in an
  24.    * error.
  25.    */
  26.   public static final char ERROR = 'E';
  27.   /**
  28.    * This URL is waiting for a spider
  29.    * worker to take it on.
  30.    */
  31.   public static final char WAITING = 'W';
  32.   /**
  33.    * This page is complete and should not
  34.    * be redownloaded.
  35.    */
  36.   public static final char COMPLETE = 'C';
  37.   /**
  38.    * The status is unknown.
  39.    */
  40.   public static final char UNKNOWN = 'U';
  41.   /**
  42.    * Call this method to request a URL
  43.    * to process. This method will return
  44.    * a WAITING URL and mark it as RUNNING.
  45.    *
  46.    * @return The URL that was assigned(指定,分配).
  47.    * 相当于getworkload()。
  48.    */
  49.   public String assignWorkload();
  50.   /**
  51.    * Add a new URL to the workload, and
  52.    * assign it a status of WAITING.
  53.    *
  54.    * @param url The URL to be added.
  55.    */
  56.   public void addWorkload(String url);
  57.   /**
  58.    * Called to mark this URL as either
  59.    * COMPLETE or ERROR.
  60.    *
  61.    * @param url The URL to complete.
  62.    * @param error true - assign this workload a status of ERROR.
  63.    * false - assign this workload a status of COMPLETE.
  64.    */
  65.   public void completeWorkload(String url,boolean error);
  66.   /**
  67.    * Get the status of a URL.
  68.    *
  69.    * @param url Returns either RUNNING, ERROR
  70.    * WAITING, or COMPLETE. If the URL
  71.    * does not exist in the database,
  72.    * the value of UNKNOWN is returned.
  73.    * @return Returns either RUNNING,ERROR,
  74.    * WAITING,COMPLETE or UNKNOWN.
  75.    */
  76.   public char getURLStatus(String url);
  77.   /**
  78.    * Clear the contents of the workload store.
  79.    */
  80.   public void clear();
  81. }

其他几个方法不是常用到,倒是那几个状态变量可以留作理清思路之用。

That‘s OK!

 

0 0

相关博文

我的热门文章

img
取 消
img