org.apache.manifoldcf.crawler.system
Class SetPriorityThread

java.lang.Object
  extended by java.lang.Thread
      extended by org.apache.manifoldcf.crawler.system.SetPriorityThread
All Implemented Interfaces:
java.lang.Runnable

public class SetPriorityThread
extends java.lang.Thread

This class describes a thread whose job it is to continuously reset document priorities, based on recent queuing activity. The goal is to evenly distribute queued documents across jobs and within classes of documents inside jobs. The way it works is for the thread to do some number of pending documents at a time. The documents are fetched in such a way as to get the ones that have been least recently assessed preferentially. The assessment process involves getting hold of a connector for the job that owns the document, and calculating the priority based on the recent history as maintained in the queueTracker object.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
static java.lang.String _rcsid
           
protected  BlockingDocuments blockingDocuments
           
protected  int cycleCount
           
protected  QueueTracker queueTracker
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SetPriorityThread(QueueTracker qt, int workerThreadCount, BlockingDocuments blockingDocuments)
          Constructor.
 
Method Summary
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_rcsid

public static final java.lang.String _rcsid
See Also:
Constant Field Values

queueTracker

protected QueueTracker queueTracker

cycleCount

protected int cycleCount

blockingDocuments

protected BlockingDocuments blockingDocuments
Constructor Detail

SetPriorityThread

public SetPriorityThread(QueueTracker qt,
                         int workerThreadCount,
                         BlockingDocuments blockingDocuments)
                  throws ManifoldCFException
Constructor.

Parameters:
qt - is the queue tracker object.
Throws:
ManifoldCFException
Method Detail

run

public void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread