Interface IJobManager
-
- All Known Implementing Classes:
JobManager
public interface IJobManagerThis manager deals with jobs. Each job is associated with a repository connection, and has a number of scheduling options: starting every n hours/days/weeks/months, on specific dates, or "continuous" (which basically establishes a priority queue based on modification frequency). The job itself also specifies "seeds" (or starting points), which are the places that scanning begins. NOTE WELL: Every job is incremental. This means that the job will check for deletions among all the documents that it has scanned in the past, as part of the process of ingesting.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String_rcsidstatic intACTION_REMOVEstatic intACTION_RESCANstatic intDOCSTATE_NEVERPROCESSEDstatic intDOCSTATE_OUTOFSCOPEstatic intDOCSTATE_PREVIOUSLYPROCESSEDstatic intDOCSTATUS_DELETINGstatic intDOCSTATUS_EXPIRINGstatic intDOCSTATUS_HOPCOUNTEXCEEDEDstatic intDOCSTATUS_INACTIVEstatic intDOCSTATUS_PROCESSINGstatic intDOCSTATUS_READYFOREXPIRATIONstatic intDOCSTATUS_READYFORPROCESSINGstatic intDOCSTATUS_WAITINGFOREVERstatic intDOCSTATUS_WAITINGFOREXPIRATIONstatic intDOCSTATUS_WAITINGFORPROCESSINGstatic intSTOP_ERRORABORTstatic intSTOP_MANUALABORTstatic intSTOP_MANUALPAUSEstatic intSTOP_RESTARTstatic intSTOP_SCHEDULEPAUSE
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddDocument(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String docIDHash, java.lang.String docID, java.lang.String parentIdentifierHash, java.lang.String relationshipType, int hopcountMethod, java.lang.String[] dataNames, java.lang.Object[][] dataValues, IPriorityCalculator priority, java.lang.String[] prereqEventNames)Add a document to the queue.voidaddDocuments(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, java.lang.String[] docIDs, java.lang.String parentIdentifierHash, java.lang.String relationshipType, int hopcountMethod, java.lang.String[][] dataNames, java.lang.Object[][][] dataValues, IPriorityCalculator[] priorities, java.lang.String[][] prereqEventNames)Add documents to the queue in bulk.voidaddDocumentsInitial(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, java.lang.String[] docIDs, boolean overrideSchedule, int hopcountMethod, IPriorityCalculator[] documentPriorities, java.lang.String[][] prereqEventNames)Add an initial set of documents to the queue.voidaddRemainingDocumentsInitial(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, int hopcountMethod)Add an initial set of remaining documents to the queue.voidassessMarkedJobs()Assess jobs marked to be in need of assessment for connector status changes.booleanbeginEventSequence(java.lang.String processID, java.lang.String eventName)Begin an event sequence.voidcarrydownChangeDocument(DocumentDescription documentDescription, IPriorityCalculator docPriority)Requeue a document because of carrydown changes.voidcarrydownChangeDocumentMultiple(DocumentDescription[] documentDescriptions, IPriorityCalculator[] docPriorities)Requeue a document set because of carrydown changes.booleancheckIfNotificationReference(java.lang.String connectionName)See if there's a reference to a notification connection name.booleancheckIfOutputReference(java.lang.String connectionName)See if there's a reference to an output connection name.booleancheckIfReference(java.lang.String connectionName)See if there's a reference to a connection name.booleancheckIfTransformationReference(java.lang.String connectionName)See if there's a reference to a transformation connection name.booleancheckJobActive(java.lang.Long jobID)Verify that a specific job is indeed still active.booleancheckJobBusy(java.lang.Long jobID)Verify if a job is still processing documents, or no longer has any outstanding active documentsvoidcleanupProcessData()Reset the job queue for all process IDs.voidcleanupProcessData(java.lang.String processID)Reset the job queue for an individual process ID.voidclearAllDocumentPriorities()Clear all document priorities, in preparation for reprioritization of all previously-prioritized documents.voidclearJobSeedingState(java.lang.Long jobID)Clear job seeding state.voidcompleteEventSequence(java.lang.String eventName)Complete an event sequence.IJobDescriptioncreateJob()Create a new job.voiddeinstall()Uninstall the job manager's tables.voiddeleteIngestedDocumentIdentifiers(DocumentDescription[] identifiers)Delete ingested document identifiers (as part of deleting the owning job).voiddeleteJob(java.lang.Long id)Delete a job.voiddeleteJobsReadyForDelete()Delete jobs in need of being deleted (which are marked "ready for delete").voiddoneDocumentsInitial(java.lang.Long jobID, java.lang.String[] legalLinkTypes, boolean isPartial, int hopcountMethod)Signal that a seeding pass has been done.booleanerrorAbort(java.lang.Long jobID, java.lang.String errorText)Abort a running job due to a fatal error condition.voidexportConfiguration(java.io.OutputStream os)Export configurationboolean[]findHopCounts(java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, java.lang.String linkType, int limit, int hopcountMethod)Get the specified hop counts, with the limit as described.IJobDescription[]findJobsForConnection(java.lang.String connectionName)Get the job IDs associated with a given connection name.DocumentDescription[]finishDocuments(java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] parentIdentifierHashes, int hopcountMethod)Complete adding child documents to the queue, for a set of documents.voidfinishJobResumes(long timestamp, java.util.List<IJobDescription> modifiedJobs)Complete the sequence that resumes jobs, either from a pause or from a scheduling window wait.voidfinishJobs()Put all eligible jobs in the "shutting down" state.voidfinishJobStops(long timestamp, java.util.List<IJobDescription> modifiedJobs, java.util.List<java.lang.Integer> stopNotificationTypes)Complete the sequence that stops jobs, either for abort, pause, or because of a scheduling window.IResultSetgenDocumentStatus(java.lang.String connectionName, StatusFilterCriteria filterCriteria, SortOrder sortOrder, int startRow, int rowCount)Run a 'document status' report.IResultSetgenQueueStatus(java.lang.String connectionName, StatusFilterCriteria filterCriteria, SortOrder sortOrder, BucketDescription idBucketDescription, int startRow, int rowCount)Run a 'queue status' report.IJobDescription[]getAllJobs()Load a sorted list of job descriptions.java.lang.String[]getAllSeeds(java.lang.Long jobID)Get all the current seeds.JobStatus[]getAllStatus()Get a list of all jobs, and their status information.JobStatus[]getAllStatus(boolean includeCounts)Get a list of all jobs, and their status information.JobStatus[]getAllStatus(boolean includeCounts, int maxCount)Get a list of all jobs, and their status information.DocumentSetAndFlagsgetExpiredDocuments(java.lang.String processID, int n, long currentTime)Get up to the next n documents to be expired.JobStatus[]getFinishedJobs()Get a list of completed jobs, and their statistics.JobStatus[]getFinishedJobs(boolean includeCounts)Get a list of completed jobs, and their statistics.JobStatus[]getFinishedJobs(boolean includeCounts, int maxCount)Get a list of completed jobs, and their statistics.JobNotifyRecord[]getJobsReadyForDelete(java.lang.String processID)Find the list of jobs that need to have their connectors notified of job deletion.JobDeleteRecord[]getJobsReadyForDeleteCleanup(java.lang.String processID)Get the list of jobs that are ready for delete cleanup.JobNotifyRecord[]getJobsReadyForInactivity(java.lang.String processID)Find the list of jobs that need to have their connectors notified of job completion.JobSeedingRecord[]getJobsReadyForSeeding(java.lang.String processID, long currentTime)Get the list of jobs that are ready for seeding.JobStartRecord[]getJobsReadyForStartup(java.lang.String processID)Get the list of jobs that are ready for startup.DocumentSetAndFlagsgetNextCleanableDocuments(java.lang.String processID, int n, long currentTime)Get list of cleanable document descriptions.DocumentDescription[]getNextDeletableDocuments(java.lang.String processID, int n, long currentTime)Get list of deletable document descriptions.DocumentDescription[]getNextDocuments(java.lang.String processID, int n, long currentTime, long interval, BlockingDocuments blockingDocuments, PerformanceStatistics statistics, DepthStatistics scanRecord)Get up to the next n document(s) to be fetched and processed.DocumentDescription[]getNextNotYetProcessedReprioritizationDocuments(java.lang.String processID, int n)Get a list of not-yet-processed documents to reprioritize.JobStatus[]getRunningJobs()Get a list of running jobs.JobStatus[]getRunningJobs(boolean includeCounts)Get a list of running jobs.JobStatus[]getRunningJobs(boolean includeCounts, int maxCount)Get a list of running jobs.JobStatusgetStatus(java.lang.Long jobID)Get the status of a job.JobStatusgetStatus(java.lang.Long jobID, boolean includeCounts)Get the status of a job.JobStatusgetStatus(java.lang.Long jobID, boolean includeCounts, int maxCount)Get the status of a job.voidimportConfiguration(java.io.InputStream is)Import configurationvoidinactivateJob(java.lang.Long jobID)Inactivate a job, from the notification state.voidinstall()Install the job manager's tables.IJobDescriptionload(java.lang.Long id)Load a job for editing.IJobDescriptionload(java.lang.Long id, boolean readOnly)Load a job.voidmanualAbort(java.lang.Long jobID)Manually abort a running job.voidmanualAbortRestart(java.lang.Long jobID)Manually restart a running job.voidmanualAbortRestart(java.lang.Long jobID, boolean requestMinimum)Manually restart a running job.voidmanualStart(java.lang.Long jobID)Manually start a job.voidmanualStart(java.lang.Long jobID, boolean requestMinimum)Manually start a job.DocumentDescription[]markDocumentCleanedUp(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod)Delete from queue as a result of cleaning up an unreachable document.DocumentDescription[]markDocumentCleanedUpMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod)Delete from queue as a result of cleaning up an unreachable document.voidmarkDocumentCompleted(DocumentDescription documentDescription)Note completion of document processing by a job thread of a document.voidmarkDocumentCompletedMultiple(DocumentDescription[] documentDescriptions)Note completion of document processing by a job thread of a document.DocumentDescription[]markDocumentDeleted(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod)Delete from queue as a result of processing of an active document.DocumentDescription[]markDocumentDeletedMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod)Delete from queue as a result of processing of an active document.DocumentDescription[]markDocumentExpired(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod)Delete from queue as a result of expiration of an active document.DocumentDescription[]markDocumentExpiredMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod)Delete from queue as a result of expiration of an active document.DocumentDescription[]markDocumentHopcountRemoval(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod)Mark hopcount removal from queue as a result of processing of an active document.DocumentDescription[]markDocumentHopcountRemovalMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod)Mark hopcount removal from queue as a result of processing of an active document.voidnoteConnectionChange(java.lang.String connectionName)Note a change in connection configuration.voidnoteConnectorDeregistration(java.lang.String[] connectionNames)Note the deregistration of a connector used by the specified connections.voidnoteConnectorRegistration(java.lang.String[] connectionNames)Note the registration of a connector used by the specified connections.voidnoteJobDeleteStarted(java.lang.Long jobID, long startTime)Note job delete started.voidnoteJobSeeded(java.lang.Long jobID, java.lang.String seedingVersion)Note job seeded.voidnoteJobStarted(java.lang.Long jobID, long startTime, java.lang.String seedingVersion)Note job started.voidnoteNotificationConnectionChange(java.lang.String connectionName)Note a change in notification connection configuration.voidnoteNotificationConnectorDeregistration(java.lang.String[] connectionNames)Note the deregistration of a notification connector used by the specified connections.voidnoteNotificationConnectorRegistration(java.lang.String[] connectionNames)Note the registration of a notification connector used by the specified connections.voidnoteOutputConnectionChange(java.lang.String connectionName)Note a change in output connection configuration.voidnoteOutputConnectorDeregistration(java.lang.String[] connectionNames)Note the deregistration of an output connector used by the specified connections.voidnoteOutputConnectorRegistration(java.lang.String[] connectionNames)Note the registration of an output connector used by the specified connections.voidnoteTransformationConnectionChange(java.lang.String connectionName)Note a change in transformation connection configuration.voidnoteTransformationConnectorDeregistration(java.lang.String[] connectionNames)Note the deregistration of a transformation connector used by the specified connections.voidnoteTransformationConnectorRegistration(java.lang.String[] connectionNames)Note the registration of a transformation connector used by the specified connections.voidpauseJob(java.lang.Long jobID)Pause a job.voidprepareDeleteScan(java.lang.Long jobID)Prepare for a delete scan.voidprepareForClusterStart()Prepare to start the entire cluster.voidprepareJobScan(java.lang.Long jobID, java.lang.String[] legalLinkTypes, int hopcountMethod, int connectorModel, boolean continuousJob, boolean fromBeginningOfTime, boolean requestMinimum)Prepare a job to be run.voidremoveJob(java.lang.Long jobID)Remove a job, from the notification state.voidrequeueDocument(DocumentDescription documentDescription, java.lang.Long executeTime, int action)Requeue a document for further processing in the future.voidrequeueDocumentMultiple(DocumentDescription[] documentDescriptions, java.lang.Long[] executeTimes, int[] actions)Requeue a document for further processing in the future.voidresetCleaningDocument(DocumentDescription documentDescription, long checkTime)Reset a cleaning document back to its former state.voidresetCleaningDocumentMultiple(DocumentDescription[] documentDescriptions, long checkTime)Reset a set of cleaning documents for further processing in the future.voidresetDeleteNotifyJob(java.lang.Long jobID)Reset a job that is delete notifying back to "ready for delete notify" state.voidresetDeleteStartupWorkerStatus(java.lang.String processID)Reset as part of restoring delete startup threads.voidresetDeletingDocument(DocumentDescription documentDescription, long checkTime)Reset a deleting document back to its former state.voidresetDeletingDocumentMultiple(DocumentDescription[] documentDescriptions, long checkTime)Reset a set of deleting documents for further processing in the future.voidresetDocCleanupWorkerStatus(java.lang.String processID)Reset as part of restoring doc cleanup threads.voidresetDocDeleteWorkerStatus(java.lang.String processID)Reset as part of restoring doc delete threads.voidresetDocument(DocumentDescription documentDescription, long executeTime, int action, long failTime, int failCount)Reset an active document back to its former state.voidresetDocumentMultiple(DocumentDescription[] documentDescriptions, long executeTime, int action, long failTime, int failCount)Reset documents for further processing in the future.voidresetDocumentWorkerStatus(java.lang.String processID)Reset as part of restoring document worker threads.voidresetJobs(long currentTime, java.util.List<IJobDescription> resetJobs)Reset eligible jobs either back to the "inactive" state, or make them active again.voidresetJobSchedule(java.lang.Long jobID)Reset job schedule.voidresetNotificationWorkerStatus(java.lang.String processID)Reset as part of restoring notification threads.voidresetNotifyJob(java.lang.Long jobID)Reset a job that is notifying back to "ready for notify" state.voidresetSeedingWorkerStatus(java.lang.String processID)Reset as part of restoring seeding threads.voidresetSeedJob(java.lang.Long jobID)Reset a seeding job back to "active" state.voidresetStartDeleteJob(java.lang.Long jobID)Reset a job starting for delete back to "ready for delete" state.voidresetStartupJob(java.lang.Long jobID)Reset a starting job back to "ready for startup" state.voidresetStartupWorkerStatus(java.lang.String processID)Reset as part of restoring startup threads.voidrestartJob(java.lang.Long jobID)Restart a paused job.java.lang.String[]retrieveParentData(java.lang.Long jobID, java.lang.String docIDHash, java.lang.String dataName)Retrieve specific parent data for a given document.CharacterInput[]retrieveParentDataAsFiles(java.lang.Long jobID, java.lang.String docIDHash, java.lang.String dataName)Retrieve specific parent data for a given document.voidretryDeleteNotification(JobNotifyRecord jnr, long failTime, int failCount)Retry delete notification.voidretryNotification(JobNotifyRecord jobNotifyRecord, long failTime, int failRetryCount)Retry notification.voidretrySeeding(JobSeedingRecord jobSeedingRecord, long failTime, int failRetryCount)Retry seeding.voidretryStartup(JobStartRecord jobStartRecord, long failTime, int failRetryCount)Retry startup.voidrevertDocuments(java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] parentIdentifierHashes)Undo the addition of child documents to the queue, for a set of documents.voidsave(IJobDescription jobDescription)Save a job.voidstartJobs(long currentTime, java.util.List<java.lang.Long> unwaitList)Start jobs based on schedule.voidwaitJobs(long currentTime, java.util.List<java.lang.Long> waitList)Put active or paused jobs in wait state, if they've exceeded their window.voidwriteDocumentPriorities(DocumentDescription[] descriptions, IPriorityCalculator[] priorities)Save a set of document priorities.
-
-
-
Field Detail
-
_rcsid
static final java.lang.String _rcsid
- See Also:
- Constant Field Values
-
ACTION_RESCAN
static final int ACTION_RESCAN
- See Also:
- Constant Field Values
-
ACTION_REMOVE
static final int ACTION_REMOVE
- See Also:
- Constant Field Values
-
DOCSTATE_NEVERPROCESSED
static final int DOCSTATE_NEVERPROCESSED
- See Also:
- Constant Field Values
-
DOCSTATE_PREVIOUSLYPROCESSED
static final int DOCSTATE_PREVIOUSLYPROCESSED
- See Also:
- Constant Field Values
-
DOCSTATE_OUTOFSCOPE
static final int DOCSTATE_OUTOFSCOPE
- See Also:
- Constant Field Values
-
DOCSTATUS_INACTIVE
static final int DOCSTATUS_INACTIVE
- See Also:
- Constant Field Values
-
DOCSTATUS_PROCESSING
static final int DOCSTATUS_PROCESSING
- See Also:
- Constant Field Values
-
DOCSTATUS_EXPIRING
static final int DOCSTATUS_EXPIRING
- See Also:
- Constant Field Values
-
DOCSTATUS_DELETING
static final int DOCSTATUS_DELETING
- See Also:
- Constant Field Values
-
DOCSTATUS_READYFORPROCESSING
static final int DOCSTATUS_READYFORPROCESSING
- See Also:
- Constant Field Values
-
DOCSTATUS_READYFOREXPIRATION
static final int DOCSTATUS_READYFOREXPIRATION
- See Also:
- Constant Field Values
-
DOCSTATUS_WAITINGFORPROCESSING
static final int DOCSTATUS_WAITINGFORPROCESSING
- See Also:
- Constant Field Values
-
DOCSTATUS_WAITINGFOREXPIRATION
static final int DOCSTATUS_WAITINGFOREXPIRATION
- See Also:
- Constant Field Values
-
DOCSTATUS_WAITINGFOREVER
static final int DOCSTATUS_WAITINGFOREVER
- See Also:
- Constant Field Values
-
DOCSTATUS_HOPCOUNTEXCEEDED
static final int DOCSTATUS_HOPCOUNTEXCEEDED
- See Also:
- Constant Field Values
-
STOP_ERRORABORT
static final int STOP_ERRORABORT
- See Also:
- Constant Field Values
-
STOP_MANUALABORT
static final int STOP_MANUALABORT
- See Also:
- Constant Field Values
-
STOP_MANUALPAUSE
static final int STOP_MANUALPAUSE
- See Also:
- Constant Field Values
-
STOP_SCHEDULEPAUSE
static final int STOP_SCHEDULEPAUSE
- See Also:
- Constant Field Values
-
STOP_RESTART
static final int STOP_RESTART
- See Also:
- Constant Field Values
-
-
Method Detail
-
install
void install() throws ManifoldCFExceptionInstall the job manager's tables.- Throws:
ManifoldCFException
-
deinstall
void deinstall() throws ManifoldCFExceptionUninstall the job manager's tables.- Throws:
ManifoldCFException
-
exportConfiguration
void exportConfiguration(java.io.OutputStream os) throws java.io.IOException, ManifoldCFExceptionExport configuration- Throws:
java.io.IOExceptionManifoldCFException
-
importConfiguration
void importConfiguration(java.io.InputStream is) throws java.io.IOException, ManifoldCFExceptionImport configuration- Throws:
java.io.IOExceptionManifoldCFException
-
getAllJobs
IJobDescription[] getAllJobs() throws ManifoldCFException
Load a sorted list of job descriptions.- Returns:
- the list, sorted by description.
- Throws:
ManifoldCFException
-
createJob
IJobDescription createJob() throws ManifoldCFException
Create a new job.- Returns:
- the new job.
- Throws:
ManifoldCFException
-
deleteJob
void deleteJob(java.lang.Long id) throws ManifoldCFExceptionDelete a job.- Parameters:
id- is the job's identifier. This method will purge all the records belonging to the job from the database, as well as remove all documents indexed by the job from the index.- Throws:
ManifoldCFException
-
load
IJobDescription load(java.lang.Long id) throws ManifoldCFException
Load a job for editing.- Parameters:
id- is the job's identifier.- Returns:
- null if the job doesn't exist.
- Throws:
ManifoldCFException
-
load
IJobDescription load(java.lang.Long id, boolean readOnly) throws ManifoldCFException
Load a job.- Parameters:
id- is the job's identifier.readOnly- is true if a read-only object is desired.- Returns:
- null if the job doesn't exist.
- Throws:
ManifoldCFException
-
save
void save(IJobDescription jobDescription) throws ManifoldCFException
Save a job.- Parameters:
jobDescription- is the job description.- Throws:
ManifoldCFException
-
checkIfReference
boolean checkIfReference(java.lang.String connectionName) throws ManifoldCFExceptionSee if there's a reference to a connection name.- Parameters:
connectionName- is the name of the connection.- Returns:
- true if there is a reference, false otherwise.
- Throws:
ManifoldCFException
-
checkIfNotificationReference
boolean checkIfNotificationReference(java.lang.String connectionName) throws ManifoldCFExceptionSee if there's a reference to a notification connection name.- Parameters:
connectionName- is the name of the connection.- Returns:
- true if there is a reference, false otherwise.
- Throws:
ManifoldCFException
-
checkIfOutputReference
boolean checkIfOutputReference(java.lang.String connectionName) throws ManifoldCFExceptionSee if there's a reference to an output connection name.- Parameters:
connectionName- is the name of the connection.- Returns:
- true if there is a reference, false otherwise.
- Throws:
ManifoldCFException
-
checkIfTransformationReference
boolean checkIfTransformationReference(java.lang.String connectionName) throws ManifoldCFExceptionSee if there's a reference to a transformation connection name.- Parameters:
connectionName- is the name of the connection.- Returns:
- true if there is a reference, false otherwise.
- Throws:
ManifoldCFException
-
findJobsForConnection
IJobDescription[] findJobsForConnection(java.lang.String connectionName) throws ManifoldCFException
Get the job IDs associated with a given connection name.- Parameters:
connectionName- is the name of the connection.- Returns:
- the set of job id's associated with that connection.
- Throws:
ManifoldCFException
-
clearJobSeedingState
void clearJobSeedingState(java.lang.Long jobID) throws ManifoldCFExceptionClear job seeding state.- Parameters:
jobID- is the job ID.- Throws:
ManifoldCFException
-
cleanupProcessData
void cleanupProcessData(java.lang.String processID) throws ManifoldCFExceptionReset the job queue for an individual process ID. If a node was shut down in the middle of doing something, sufficient information should be around in the database to allow the node's activities to be cleaned up.- Parameters:
processID- is the process ID of the node we want to clean up after.- Throws:
ManifoldCFException
-
cleanupProcessData
void cleanupProcessData() throws ManifoldCFExceptionReset the job queue for all process IDs. If a node was shut down in the middle of doing something, sufficient information should be around in the database to allow the node's activities to be cleaned up.- Throws:
ManifoldCFException
-
prepareForClusterStart
void prepareForClusterStart() throws ManifoldCFExceptionPrepare to start the entire cluster. If there are no other nodes alive, then at the time the first node comes up, we need to reset the job queue for ALL processes that had been running before. This method must be called in addition to cleanupProcessData().- Throws:
ManifoldCFException
-
resetDocumentWorkerStatus
void resetDocumentWorkerStatus(java.lang.String processID) throws ManifoldCFExceptionReset as part of restoring document worker threads.- Parameters:
processID- is the current process ID.- Throws:
ManifoldCFException
-
resetSeedingWorkerStatus
void resetSeedingWorkerStatus(java.lang.String processID) throws ManifoldCFExceptionReset as part of restoring seeding threads.- Throws:
ManifoldCFException
-
resetDocDeleteWorkerStatus
void resetDocDeleteWorkerStatus(java.lang.String processID) throws ManifoldCFExceptionReset as part of restoring doc delete threads.- Parameters:
processID- is the current process ID.- Throws:
ManifoldCFException
-
resetDocCleanupWorkerStatus
void resetDocCleanupWorkerStatus(java.lang.String processID) throws ManifoldCFExceptionReset as part of restoring doc cleanup threads.- Parameters:
processID- is the current process ID.- Throws:
ManifoldCFException
-
resetDeleteStartupWorkerStatus
void resetDeleteStartupWorkerStatus(java.lang.String processID) throws ManifoldCFExceptionReset as part of restoring delete startup threads.- Parameters:
processID- is the current process ID.- Throws:
ManifoldCFException
-
resetNotificationWorkerStatus
void resetNotificationWorkerStatus(java.lang.String processID) throws ManifoldCFExceptionReset as part of restoring notification threads.- Parameters:
processID- is the current process ID.- Throws:
ManifoldCFException
-
resetStartupWorkerStatus
void resetStartupWorkerStatus(java.lang.String processID) throws ManifoldCFExceptionReset as part of restoring startup threads.- Parameters:
processID- is the current process ID.- Throws:
ManifoldCFException
-
clearAllDocumentPriorities
void clearAllDocumentPriorities() throws ManifoldCFExceptionClear all document priorities, in preparation for reprioritization of all previously-prioritized documents. This method is called to start the dynamic reprioritization cycle, which follows this method with explicit prioritization of all documents, piece-meal, using getNextNotYetProcessedReprioritizationDocuments(), and writeDocumentPriorities().- Throws:
ManifoldCFException
-
getNextNotYetProcessedReprioritizationDocuments
DocumentDescription[] getNextNotYetProcessedReprioritizationDocuments(java.lang.String processID, int n) throws ManifoldCFException
Get a list of not-yet-processed documents to reprioritize. Documents in all jobs will be returned by this method. Up to n document descriptions will be returned.- Parameters:
processID- is the process that requests the reprioritization documents.n- is the maximum number of document descriptions desired.- Returns:
- the document descriptions.
- Throws:
ManifoldCFException
-
writeDocumentPriorities
void writeDocumentPriorities(DocumentDescription[] descriptions, IPriorityCalculator[] priorities) throws ManifoldCFException
Save a set of document priorities. In the case where a document was eligible to have its priority set, but it no longer is eligible, then the provided priority will not be written.- Parameters:
descriptions- are the document descriptions.priorities- are the desired priorities.- Throws:
ManifoldCFException
-
getExpiredDocuments
DocumentSetAndFlags getExpiredDocuments(java.lang.String processID, int n, long currentTime) throws ManifoldCFException
Get up to the next n documents to be expired. This method marks the documents whose descriptions have been returned as "being processed", or active. The same marking is used as is used for documents that have been queued for worker threads. The model is thus identical.- Parameters:
processID- is the current process ID.n- is the maximum number of records desired.currentTime- is the current time.- Returns:
- the array of document descriptions to expire.
- Throws:
ManifoldCFException
-
getNextDocuments
DocumentDescription[] getNextDocuments(java.lang.String processID, int n, long currentTime, long interval, BlockingDocuments blockingDocuments, PerformanceStatistics statistics, DepthStatistics scanRecord) throws ManifoldCFException
Get up to the next n document(s) to be fetched and processed. This fetch returns records that contain the document identifier, plus all instructions pertaining to the document's handling (e.g. whether it should be refetched if the version has not changed). This method also marks the documents whose descriptions have be returned as "being processed".- Parameters:
processID- is the current process ID.n- is the number of documents desired.currentTime- is the current time; some fetches do not occur until a specific time.interval- is the number of milliseconds that this set of documents should represent (for throttling).blockingDocuments- is the place to record documents that were encountered, are eligible for reprioritization, but could not be queued due to throttling considerations.statistics- are the current performance statistics per connection, which are used to balance the queue stuffing so that individual connections are not overwhelmed.scanRecord- retains the bins from all documents encountered from the query, even those that were skipped due to being overcommitted.- Returns:
- the array of document descriptions to fetch and process.
- Throws:
ManifoldCFException
-
checkJobActive
boolean checkJobActive(java.lang.Long jobID) throws ManifoldCFExceptionVerify that a specific job is indeed still active. This is used to permit abort or pause to be relatively speedy. The query done within MUST be cached in order to not cause undue performance degradation.- Parameters:
jobID- is the job identifier.- Returns:
- true if the job is in one of the "active" states.
- Throws:
ManifoldCFException
-
checkJobBusy
boolean checkJobBusy(java.lang.Long jobID) throws ManifoldCFExceptionVerify if a job is still processing documents, or no longer has any outstanding active documents- Throws:
ManifoldCFException
-
markDocumentCompletedMultiple
void markDocumentCompletedMultiple(DocumentDescription[] documentDescriptions) throws ManifoldCFException
Note completion of document processing by a job thread of a document. This method causes the state of the document to be marked as "completed".- Parameters:
documentDescriptions- are the description objects for the documents that were processed.- Throws:
ManifoldCFException
-
markDocumentCompleted
void markDocumentCompleted(DocumentDescription documentDescription) throws ManifoldCFException
Note completion of document processing by a job thread of a document. This method causes the state of the document to be marked as "completed".- Parameters:
documentDescription- is the description object for the document that was processed.- Throws:
ManifoldCFException
-
markDocumentDeletedMultiple
DocumentDescription[] markDocumentDeletedMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod) throws ManifoldCFException
Delete from queue as a result of processing of an active document. The document is expected to be in one of the active states: ACTIVE, ACTIVESEEDING, ACTIVENEEDSRESCAN, ACTIVESEEDINGNEEDSRESCAN. The RESCAN variants are interpreted as meaning that the document should not be deleted, but should instead be popped back on the queue for a repeat processing attempt.- Parameters:
documentDescriptions- are the set of description objects for the documents that were processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
markDocumentDeleted
DocumentDescription[] markDocumentDeleted(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod) throws ManifoldCFException
Delete from queue as a result of processing of an active document. The document is expected to be in one of the active states: ACTIVE, ACTIVESEEDING, ACTIVENEEDSRESCAN, ACTIVESEEDINGNEEDSRESCAN. The RESCAN variants are interpreted as meaning that the document should not be deleted, but should instead be popped back on the queue for a repeat processing attempt.- Parameters:
documentDescription- is the description object for the document that was processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
markDocumentHopcountRemovalMultiple
DocumentDescription[] markDocumentHopcountRemovalMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod) throws ManifoldCFException
Mark hopcount removal from queue as a result of processing of an active document. The document is expected to be in one of the active states: ACTIVE, ACTIVESEEDING, ACTIVENEEDSRESCAN, ACTIVESEEDINGNEEDSRESCAN. The RESCAN variants are interpreted as meaning that the document should not be marked as removed, but should instead be popped back on the queue for a repeat processing attempt.- Parameters:
documentDescriptions- are the set of description objects for the documents that were processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
markDocumentHopcountRemoval
DocumentDescription[] markDocumentHopcountRemoval(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod) throws ManifoldCFException
Mark hopcount removal from queue as a result of processing of an active document. The document is expected to be in one of the active states: ACTIVE, ACTIVESEEDING, ACTIVENEEDSRESCAN, ACTIVESEEDINGNEEDSRESCAN. The RESCAN variants are interpreted as meaning that the document should not be marked as removed, but should instead be popped back on the queue for a repeat processing attempt.- Parameters:
documentDescription- is the description object for the document that was processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
markDocumentExpiredMultiple
DocumentDescription[] markDocumentExpiredMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod) throws ManifoldCFException
Delete from queue as a result of expiration of an active document. The document is expected to be in one of the active states: ACTIVE, ACTIVESEEDING, ACTIVENEEDSRESCAN, ACTIVESEEDINGNEEDSRESCAN. Since the document expired, no special activity takes place as a result of the document being in a RESCAN state.- Parameters:
documentDescriptions- are the set of description objects for the documents that were processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
markDocumentExpired
DocumentDescription[] markDocumentExpired(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod) throws ManifoldCFException
Delete from queue as a result of expiration of an active document. The document is expected to be in one of the active states: ACTIVE, ACTIVESEEDING, ACTIVENEEDSRESCAN, ACTIVESEEDINGNEEDSRESCAN. Since the document expired, no special activity takes place as a result of the document being in a RESCAN state.- Parameters:
documentDescription- is the description object for the document that was processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
markDocumentCleanedUpMultiple
DocumentDescription[] markDocumentCleanedUpMultiple(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription[] documentDescriptions, int hopcountMethod) throws ManifoldCFException
Delete from queue as a result of cleaning up an unreachable document. The document is expected to be in the PURGATORY state. There is never any need to reprocess the document.- Parameters:
documentDescriptions- are the set of description objects for the documents that were processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
markDocumentCleanedUp
DocumentDescription[] markDocumentCleanedUp(java.lang.Long jobID, java.lang.String[] legalLinkTypes, DocumentDescription documentDescription, int hopcountMethod) throws ManifoldCFException
Delete from queue as a result of cleaning up an unreachable document. The document is expected to be in the PURGATORY state. There is never any need to reprocess the document.- Parameters:
documentDescription- is the description object for the document that was processed.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
carrydownChangeDocumentMultiple
void carrydownChangeDocumentMultiple(DocumentDescription[] documentDescriptions, IPriorityCalculator[] docPriorities) throws ManifoldCFException
Requeue a document set because of carrydown changes. This method is called when carrydown data is modified for a set of documents. The documents must be requeued for immediate reprocessing, even to the extent that if one is *already* being processed, it will need to be done over again.- Parameters:
documentDescriptions- is the set of description objects for the documents that have had their parent carrydown information changed.docPriorities- are the document priorities to assign to the documents, if needed.- Throws:
ManifoldCFException
-
carrydownChangeDocument
void carrydownChangeDocument(DocumentDescription documentDescription, IPriorityCalculator docPriority) throws ManifoldCFException
Requeue a document because of carrydown changes. This method is called when carrydown data is modified for a document. The document must be requeued for immediate reprocessing, even to the extent that if it is *already* being processed, it will need to be done over again.- Parameters:
documentDescription- is the description object for the document that has had its parent carrydown information changed.docPriority- is the document priority to assign to the document, if needed.- Throws:
ManifoldCFException
-
requeueDocumentMultiple
void requeueDocumentMultiple(DocumentDescription[] documentDescriptions, java.lang.Long[] executeTimes, int[] actions) throws ManifoldCFException
Requeue a document for further processing in the future. This method is called after a document is processed, when the job is a "continuous" one. It is essentially equivalent to noting that the document processing is complete, except the document remains on the queue.- Parameters:
documentDescriptions- is the set of description objects for the document that was processed.executeTimes- are the times that the documents should be rescanned. Null indicates "never".actions- are what should be done when the time arrives. Choices are ACTION_RESCAN or ACTION_REMOVE.- Throws:
ManifoldCFException
-
requeueDocument
void requeueDocument(DocumentDescription documentDescription, java.lang.Long executeTime, int action) throws ManifoldCFException
Requeue a document for further processing in the future. This method is called after a document is processed, when the job is a "continuous" one. It is essentially equivalent to noting that the document processing is complete, except the document remains on the queue.- Parameters:
documentDescription- is the description object for the document that was processed.executeTime- is the time that the document should be rescanned. Null indicates "never".action- is what should be done when the time arrives. Choices include ACTION_RESCAN or ACTION_REMOVE.- Throws:
ManifoldCFException
-
resetDocumentMultiple
void resetDocumentMultiple(DocumentDescription[] documentDescriptions, long executeTime, int action, long failTime, int failCount) throws ManifoldCFException
Reset documents for further processing in the future. This method is called after a service interruption is thrown. It is essentially equivalent to resetting the time for documents to be reprocessed.- Parameters:
documentDescriptions- is the set of description objects for the document that was processed.executeTime- is the time that the documents should be rescanned.failTime- is the time beyond which hard failure should occur.failCount- is the number of permitted failures before a hard error is signalled.- Throws:
ManifoldCFException
-
resetDocument
void resetDocument(DocumentDescription documentDescription, long executeTime, int action, long failTime, int failCount) throws ManifoldCFException
Reset an active document back to its former state. This gets done when there's a service interruption and the document cannot be processed yet.- Parameters:
documentDescription- is the description object for the document that was processed.executeTime- is the time that the document should be rescanned.failTime- is the time that the document should be considered to have failed, if it has not been successfully read until then.failCount- is the number of permitted failures before a hard error is signalled.- Throws:
ManifoldCFException
-
resetDeletingDocumentMultiple
void resetDeletingDocumentMultiple(DocumentDescription[] documentDescriptions, long checkTime) throws ManifoldCFException
Reset a set of deleting documents for further processing in the future. This method is called after some unknown number of the documents were deleted, but then an ingestion service interruption occurred. Note well: The logic here basically presumes that we cannot know whether the documents were indeed processed or not. If we knew for a fact that none of the documents had been handled, it would be possible to look at the document's current status and decide what the new status ought to be, based on a true rollback scenario. Such cases, however, are rare enough so that special logic is probably not worth it.- Parameters:
documentDescriptions- is the set of description objects for the document that was processed.checkTime- is the minimum time for the next cleaning attempt.- Throws:
ManifoldCFException
-
resetDeletingDocument
void resetDeletingDocument(DocumentDescription documentDescription, long checkTime) throws ManifoldCFException
Reset a deleting document back to its former state. This gets done when a deleting thread sees a service interruption, etc., from the ingestion system.- Parameters:
documentDescription- is the description object for the document that was cleaned.checkTime- is the minimum time for the next cleaning attempt.- Throws:
ManifoldCFException
-
resetCleaningDocument
void resetCleaningDocument(DocumentDescription documentDescription, long checkTime) throws ManifoldCFException
Reset a cleaning document back to its former state. This gets done when a cleaning thread sees a service interruption, etc., from the ingestion system.- Parameters:
documentDescription- is the description object for the document that was cleaned.checkTime- is the minimum time for the next cleaning attempt.- Throws:
ManifoldCFException
-
resetCleaningDocumentMultiple
void resetCleaningDocumentMultiple(DocumentDescription[] documentDescriptions, long checkTime) throws ManifoldCFException
Reset a set of cleaning documents for further processing in the future. This method is called after some unknown number of the documents were cleaned, but then an ingestion service interruption occurred. Note well: The logic here basically presumes that we cannot know whether the documents were indeed cleaned or not. If we knew for a fact that none of the documents had been handled, it would be possible to look at the document's current status and decide what the new status ought to be, based on a true rollback scenario. Such cases, however, are rare enough so that special logic is probably not worth it.- Parameters:
documentDescriptions- is the set of description objects for the document that was cleaned.checkTime- is the minimum time for the next cleaning attempt.- Throws:
ManifoldCFException
-
retryStartup
void retryStartup(JobStartRecord jobStartRecord, long failTime, int failRetryCount) throws ManifoldCFException
Retry startup.- Parameters:
jobStartRecord- is the current job startup record.failTime- is the new fail time (-1L if none).failRetryCount- is the new fail retry count (-1 if none).- Throws:
ManifoldCFException
-
retrySeeding
void retrySeeding(JobSeedingRecord jobSeedingRecord, long failTime, int failRetryCount) throws ManifoldCFException
Retry seeding.- Parameters:
jobSeedingRecord- is the current job seeding record.failTime- is the new fail time (-1L if none).failRetryCount- is the new fail retry count (-1 if none).- Throws:
ManifoldCFException
-
retryNotification
void retryNotification(JobNotifyRecord jobNotifyRecord, long failTime, int failRetryCount) throws ManifoldCFException
Retry notification.- Parameters:
jobNotifyRecord- is the current job notification record.failTime- is the new fail time (-1L if none).failRetryCount- is the new fail retry count (-1 if none).- Throws:
ManifoldCFException
-
retryDeleteNotification
void retryDeleteNotification(JobNotifyRecord jnr, long failTime, int failCount) throws ManifoldCFException
Retry delete notification.- Parameters:
jnr- is the current job notification record.failTime- is the new fail time (-1L if none).failCount- is the new fail retry count (-1 if none).- Throws:
ManifoldCFException
-
addDocumentsInitial
void addDocumentsInitial(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, java.lang.String[] docIDs, boolean overrideSchedule, int hopcountMethod, IPriorityCalculator[] documentPriorities, java.lang.String[][] prereqEventNames) throws ManifoldCFExceptionAdd an initial set of documents to the queue. This method is called during job startup, when the queue is being loaded. A set of document references is passed to this method, which updates the status of the document in the specified job's queue, according to specific state rules.- Parameters:
processID- is the current process ID.jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.docIDHashes- are the hashes of the local document identifiers (primary key).docIDs- are the local document identifiers.overrideSchedule- is true if any existing document schedule should be overridden.hopcountMethod- is either accurate, nodelete, or neverdelete.documentPriorities- are the document priorities corresponding to the document identifiers.prereqEventNames- are the events that must be completed before each document can be processed.- Throws:
ManifoldCFException
-
addRemainingDocumentsInitial
void addRemainingDocumentsInitial(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, int hopcountMethod) throws ManifoldCFExceptionAdd an initial set of remaining documents to the queue. This method is called during job startup, when the queue is being loaded, to list documents that were NOT included by calling addDocumentsInitial(). Documents listed here are simply designed to enable the framework to get rid of old, invalid seeds. They are not queued for processing.- Parameters:
processID- is the current process ID.jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.docIDHashes- are the hash values of the local document identifiers.hopcountMethod- is either accurate, nodelete, or neverdelete.- Throws:
ManifoldCFException
-
doneDocumentsInitial
void doneDocumentsInitial(java.lang.Long jobID, java.lang.String[] legalLinkTypes, boolean isPartial, int hopcountMethod) throws ManifoldCFExceptionSignal that a seeding pass has been done. Call this method at the end of a seeding pass. It is used to perform the bookkeeping necessary to maintain the hopcount table.- Parameters:
jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.isPartial- is set if the seeds provided are only a partial list. Some connectors cannot supply a full list of seeds on every seeding iteration; this acknowledges that limitation.hopcountMethod- describes how to handle deletions for hopcount purposes.- Throws:
ManifoldCFException
-
beginEventSequence
boolean beginEventSequence(java.lang.String processID, java.lang.String eventName) throws ManifoldCFExceptionBegin an event sequence.- Parameters:
processID- is the current process ID.eventName- is the name of the event.- Returns:
- true if the event could be created, or false if it's already there.
- Throws:
ManifoldCFException
-
completeEventSequence
void completeEventSequence(java.lang.String eventName) throws ManifoldCFExceptionComplete an event sequence.- Parameters:
eventName- is the name of the event.- Throws:
ManifoldCFException
-
findHopCounts
boolean[] findHopCounts(java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, java.lang.String linkType, int limit, int hopcountMethod) throws ManifoldCFExceptionGet the specified hop counts, with the limit as described.- Parameters:
jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.docIDHashes- is the set of document hashes to find the hopcount for.linkType- is the kind of link to find the hopcount for.limit- is the limit, beyond which a negative distance may be returned.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- a vector of booleans corresponding to the documents requested. A true value is returned if the document is within the specified limit, false otherwise.
- Throws:
ManifoldCFException
-
getAllSeeds
java.lang.String[] getAllSeeds(java.lang.Long jobID) throws ManifoldCFExceptionGet all the current seeds. Returns the seed document identifiers for a job.- Parameters:
jobID- is the job identifier.- Returns:
- the document identifier hashes that are currently considered to be seeds.
- Throws:
ManifoldCFException
-
addDocument
void addDocument(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String docIDHash, java.lang.String docID, java.lang.String parentIdentifierHash, java.lang.String relationshipType, int hopcountMethod, java.lang.String[] dataNames, java.lang.Object[][] dataValues, IPriorityCalculator priority, java.lang.String[] prereqEventNames) throws ManifoldCFExceptionAdd a document to the queue. This method is called during document processing, when a document reference is discovered. The document reference is passed to this method, which updates the status of the document in the specified job's queue, according to specific state rules.- Parameters:
processID- is the current process ID.jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.docIDHash- is the local document identifier hash value.parentIdentifierHash- is the optional parent identifier hash value for this document. Pass null if none. MUST be present in the case of carrydown information.relationshipType- is the optional link type between this document and its parent. Pass null if there is no relationship with a parent.hopcountMethod- is either accurate, nodelete, or neverdelete.dataNames- are the names of the data to carry down to the child from this parent.dataValues- are the values to carry down to the child from this parent, corresponding to dataNames above. If CharacterInput objects are passed in here, it is the caller's responsibility to clean these up.priority- is the desired document priority for the document.prereqEventNames- are the events that must be completed before the document can be processed.- Throws:
ManifoldCFException
-
addDocuments
void addDocuments(java.lang.String processID, java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] docIDHashes, java.lang.String[] docIDs, java.lang.String parentIdentifierHash, java.lang.String relationshipType, int hopcountMethod, java.lang.String[][] dataNames, java.lang.Object[][][] dataValues, IPriorityCalculator[] priorities, java.lang.String[][] prereqEventNames) throws ManifoldCFExceptionAdd documents to the queue in bulk. This method is called during document processing, when a set of document references are discovered. The document references are passed to this method, which updates the status of the document(s) in the specified job's queue, according to specific state rules.- Parameters:
processID- is the current process ID.jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.docIDHashes- are the hashes of the local document identifiers.docIDs- are the local document identifiers.parentIdentifierHash- is the optional parent identifier hash of these documents. Pass null if none. MUST be present in the case of carrydown information.relationshipType- is the optional link type between this document and its parent. Pass null if there is no relationship with a parent.hopcountMethod- is either accurate, nodelete, or neverdelete.dataNames- are the names of the data to carry down to the child from this parent.dataValues- are the values to carry down to the child from this parent, corresponding to dataNames above. If CharacterInput objects are passed in here, it is the caller's responsibility to clean these up.priorities- are the desired document priorities for the documents.prereqEventNames- are the events that must be completed before each document can be processed.- Throws:
ManifoldCFException
-
finishDocuments
DocumentDescription[] finishDocuments(java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] parentIdentifierHashes, int hopcountMethod) throws ManifoldCFException
Complete adding child documents to the queue, for a set of documents. This method is called at the end of document processing, to help the hopcount tracking engine do its bookkeeping.- Parameters:
jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.parentIdentifierHashes- are the hashes of the document identifiers for whom child link extraction just took place.hopcountMethod- describes how to handle deletions for hopcount purposes.- Returns:
- the set of documents for which carrydown data was changed by this operation. These documents are likely to be requeued as a result of the change.
- Throws:
ManifoldCFException
-
revertDocuments
void revertDocuments(java.lang.Long jobID, java.lang.String[] legalLinkTypes, java.lang.String[] parentIdentifierHashes) throws ManifoldCFExceptionUndo the addition of child documents to the queue, for a set of documents. This method is called at the end of document processing, to back out any incomplete additions to the queue, and restore the status quo ante prior to the incomplete additions. Call this method instead of finishDocuments() if the addition of documents was not completed.- Parameters:
jobID- is the job identifier.legalLinkTypes- is the set of legal link types that this connector generates.parentIdentifierHashes- are the hashes of the document identifiers for whom child link extraction just took place.- Throws:
ManifoldCFException
-
retrieveParentData
java.lang.String[] retrieveParentData(java.lang.Long jobID, java.lang.String docIDHash, java.lang.String dataName) throws ManifoldCFExceptionRetrieve specific parent data for a given document.- Parameters:
jobID- is the job identifier.docIDHash- is the hash of the document identifier.dataName- is the kind of data to retrieve.- Returns:
- the unique data values.
- Throws:
ManifoldCFException
-
retrieveParentDataAsFiles
CharacterInput[] retrieveParentDataAsFiles(java.lang.Long jobID, java.lang.String docIDHash, java.lang.String dataName) throws ManifoldCFException
Retrieve specific parent data for a given document.- Parameters:
jobID- is the job identifier.docIDHash- is the document identifier hash value.dataName- is the kind of data to retrieve.- Returns:
- the unique data values.
- Throws:
ManifoldCFException
-
manualStart
void manualStart(java.lang.Long jobID, boolean requestMinimum) throws ManifoldCFExceptionManually start a job. The specified job will be run REGARDLESS of the timed windows, and will not cease until complete. If the job is already running, this operation will assure that the job does not pause when its window ends. The job can be manually paused, or manually aborted.- Parameters:
jobID- is the ID of the job to start.requestMinimum- is true if a minimal job run is requested.- Throws:
ManifoldCFException
-
manualStart
void manualStart(java.lang.Long jobID) throws ManifoldCFExceptionManually start a job. The specified job will be run REGARDLESS of the timed windows, and will not cease until complete. If the job is already running, this operation will assure that the job does not pause when its window ends. The job can be manually paused, or manually aborted.- Parameters:
jobID- is the ID of the job to start.- Throws:
ManifoldCFException
-
manualAbort
void manualAbort(java.lang.Long jobID) throws ManifoldCFExceptionManually abort a running job. The job will be permanently stopped, and will not run again until automatically started based on schedule, or manually started.- Parameters:
jobID- is the job to abort.- Throws:
ManifoldCFException
-
manualAbortRestart
void manualAbortRestart(java.lang.Long jobID, boolean requestMinimum) throws ManifoldCFExceptionManually restart a running job. The job will be stopped and restarted. Any schedule affinity will be lost, until the job finishes on its own.- Parameters:
jobID- is the job to abort.requestMinimum- is true if a minimal job run is requested.- Throws:
ManifoldCFException
-
manualAbortRestart
void manualAbortRestart(java.lang.Long jobID) throws ManifoldCFExceptionManually restart a running job. The job will be stopped and restarted. Any schedule affinity will be lost, until the job finishes on its own.- Parameters:
jobID- is the job to abort.- Throws:
ManifoldCFException
-
pauseJob
void pauseJob(java.lang.Long jobID) throws ManifoldCFExceptionPause a job.- Parameters:
jobID- is the job identifier to pause.- Throws:
ManifoldCFException
-
restartJob
void restartJob(java.lang.Long jobID) throws ManifoldCFExceptionRestart a paused job.- Parameters:
jobID- is the job identifier to restart.- Throws:
ManifoldCFException
-
resetJobSchedule
void resetJobSchedule(java.lang.Long jobID) throws ManifoldCFExceptionReset job schedule. This re-evaluates whether the job should be started now. This method would typically be called after a job's scheduling window has been changed.- Parameters:
jobID- is the job identifier.- Throws:
ManifoldCFException
-
startJobs
void startJobs(long currentTime, java.util.List<java.lang.Long> unwaitList) throws ManifoldCFExceptionStart jobs based on schedule. This method marks all the appropriate jobs as "in progress", which is all that should be needed to start them.- Parameters:
currentTime- is the current time in milliseconds since epoch.unwaitList- is filled in with the set of job id's that were resumed (Long's).- Throws:
ManifoldCFException
-
waitJobs
void waitJobs(long currentTime, java.util.List<java.lang.Long> waitList) throws ManifoldCFExceptionPut active or paused jobs in wait state, if they've exceeded their window.- Parameters:
currentTime- is the current time in milliseconds since epoch.waitList- is filled in with the set of job id's that were put into a wait state (Long's).- Throws:
ManifoldCFException
-
getJobsReadyForSeeding
JobSeedingRecord[] getJobsReadyForSeeding(java.lang.String processID, long currentTime) throws ManifoldCFException
Get the list of jobs that are ready for seeding.- Parameters:
processID- is the current process ID.currentTime- is the current time in milliseconds since epoch.- Returns:
- jobs that are active and are running in adaptive mode. These will be seeded based on what the connector says should be added to the queue.
- Throws:
ManifoldCFException
-
resetSeedJob
void resetSeedJob(java.lang.Long jobID) throws ManifoldCFExceptionReset a seeding job back to "active" state.- Parameters:
jobID- is the job id.- Throws:
ManifoldCFException
-
getJobsReadyForDeleteCleanup
JobDeleteRecord[] getJobsReadyForDeleteCleanup(java.lang.String processID) throws ManifoldCFException
Get the list of jobs that are ready for delete cleanup.- Parameters:
processID- is the current process ID.- Returns:
- jobs that were in the "readyfordelete" state.
- Throws:
ManifoldCFException
-
getJobsReadyForStartup
JobStartRecord[] getJobsReadyForStartup(java.lang.String processID) throws ManifoldCFException
Get the list of jobs that are ready for startup.- Parameters:
processID- is the current process ID.- Returns:
- jobs that were in the "readyforstartup" state. These will be marked as being in the "starting up" state.
- Throws:
ManifoldCFException
-
getJobsReadyForInactivity
JobNotifyRecord[] getJobsReadyForInactivity(java.lang.String processID) throws ManifoldCFException
Find the list of jobs that need to have their connectors notified of job completion.- Parameters:
processID- is the current process ID.- Returns:
- the ID's of jobs that need their output connectors notified in order to become inactive.
- Throws:
ManifoldCFException
-
getJobsReadyForDelete
JobNotifyRecord[] getJobsReadyForDelete(java.lang.String processID) throws ManifoldCFException
Find the list of jobs that need to have their connectors notified of job deletion.- Parameters:
processID- is the process ID.- Returns:
- the ID's of jobs that need their output connectors notified in order to be removed.
- Throws:
ManifoldCFException
-
inactivateJob
void inactivateJob(java.lang.Long jobID) throws ManifoldCFExceptionInactivate a job, from the notification state.- Parameters:
jobID- is the ID of the job to inactivate.- Throws:
ManifoldCFException
-
removeJob
void removeJob(java.lang.Long jobID) throws ManifoldCFExceptionRemove a job, from the notification state.- Parameters:
jobID- is the ID of the job to remove.- Throws:
ManifoldCFException
-
resetStartDeleteJob
void resetStartDeleteJob(java.lang.Long jobID) throws ManifoldCFExceptionReset a job starting for delete back to "ready for delete" state.- Parameters:
jobID- is the job id.- Throws:
ManifoldCFException
-
resetNotifyJob
void resetNotifyJob(java.lang.Long jobID) throws ManifoldCFExceptionReset a job that is notifying back to "ready for notify" state.- Parameters:
jobID- is the job id.- Throws:
ManifoldCFException
-
resetDeleteNotifyJob
void resetDeleteNotifyJob(java.lang.Long jobID) throws ManifoldCFExceptionReset a job that is delete notifying back to "ready for delete notify" state.- Parameters:
jobID- is the job id.- Throws:
ManifoldCFException
-
resetStartupJob
void resetStartupJob(java.lang.Long jobID) throws ManifoldCFExceptionReset a starting job back to "ready for startup" state.- Parameters:
jobID- is the job id.- Throws:
ManifoldCFException
-
prepareDeleteScan
void prepareDeleteScan(java.lang.Long jobID) throws ManifoldCFExceptionPrepare for a delete scan.- Parameters:
jobID- is the job id.- Throws:
ManifoldCFException
-
prepareJobScan
void prepareJobScan(java.lang.Long jobID, java.lang.String[] legalLinkTypes, int hopcountMethod, int connectorModel, boolean continuousJob, boolean fromBeginningOfTime, boolean requestMinimum) throws ManifoldCFExceptionPrepare a job to be run. This method is called regardless of the details of the job; what differs is only the flags that are passed in. The code inside will determine the appropriate procedures. (This method replaces prepareFullScan() and prepareIncrementalScan(). )- Parameters:
jobID- is the job id.legalLinkTypes- are the link types allowed for the job.hopcountMethod- describes how to handle deletions for hopcount purposes.connectorModel- is the model used by the connector for the job.continuousJob- is true if the job is a continuous one.fromBeginningOfTime- is true if the job is running starting from time 0.requestMinimum- is true if the minimal amount of work is requested for the job run.- Throws:
ManifoldCFException
-
noteJobDeleteStarted
void noteJobDeleteStarted(java.lang.Long jobID, long startTime) throws ManifoldCFExceptionNote job delete started.- Parameters:
jobID- is the job id.startTime- is the job start time.- Throws:
ManifoldCFException
-
noteJobStarted
void noteJobStarted(java.lang.Long jobID, long startTime, java.lang.String seedingVersion) throws ManifoldCFExceptionNote job started.- Parameters:
jobID- is the job id.startTime- is the job start time.seedingVersion- is the seeding version to record with the job start.- Throws:
ManifoldCFException
-
noteJobSeeded
void noteJobSeeded(java.lang.Long jobID, java.lang.String seedingVersion) throws ManifoldCFExceptionNote job seeded.- Parameters:
jobID- is the job id.seedingVersion- is the seeding version string to record.- Throws:
ManifoldCFException
-
noteConnectorDeregistration
void noteConnectorDeregistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the deregistration of a connector used by the specified connections. This method will be called when the connector is deregistered. Jobs that use these connections must therefore enter appropriate states.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteConnectorRegistration
void noteConnectorRegistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the registration of a connector used by the specified connections. This method will be called when a connector is registered, on which the specified connections depend.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteNotificationConnectorDeregistration
void noteNotificationConnectorDeregistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the deregistration of a notification connector used by the specified connections. This method will be called when the connector is deregistered. Jobs that use these connections must therefore enter appropriate states.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteNotificationConnectorRegistration
void noteNotificationConnectorRegistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the registration of a notification connector used by the specified connections. This method will be called when a connector is registered, on which the specified connections depend.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteConnectionChange
void noteConnectionChange(java.lang.String connectionName) throws ManifoldCFExceptionNote a change in connection configuration. This method will be called whenever a connection's configuration is modified, or when an external repository change is signalled.- Throws:
ManifoldCFException
-
noteNotificationConnectionChange
void noteNotificationConnectionChange(java.lang.String connectionName) throws ManifoldCFExceptionNote a change in notification connection configuration. This method will be called whenever a connection's configuration is modified, or when an external repository change is signalled.- Throws:
ManifoldCFException
-
noteOutputConnectorDeregistration
void noteOutputConnectorDeregistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the deregistration of an output connector used by the specified connections. This method will be called when the connector is deregistered. Jobs that use these connections must therefore enter appropriate states.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteOutputConnectorRegistration
void noteOutputConnectorRegistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the registration of an output connector used by the specified connections. This method will be called when a connector is registered, on which the specified connections depend.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteOutputConnectionChange
void noteOutputConnectionChange(java.lang.String connectionName) throws ManifoldCFExceptionNote a change in output connection configuration. This method will be called whenever a connection's configuration is modified, or when an external output target change is signalled.- Throws:
ManifoldCFException
-
noteTransformationConnectorDeregistration
void noteTransformationConnectorDeregistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the deregistration of a transformation connector used by the specified connections. This method will be called when the connector is deregistered. Jobs that use these connections must therefore enter appropriate states.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteTransformationConnectorRegistration
void noteTransformationConnectorRegistration(java.lang.String[] connectionNames) throws ManifoldCFExceptionNote the registration of a transformation connector used by the specified connections. This method will be called when a connector is registered, on which the specified connections depend.- Parameters:
connectionNames- is the set of connection names.- Throws:
ManifoldCFException
-
noteTransformationConnectionChange
void noteTransformationConnectionChange(java.lang.String connectionName) throws ManifoldCFExceptionNote a change in transformation connection configuration. This method will be called whenever a connection's configuration is modified.- Throws:
ManifoldCFException
-
assessMarkedJobs
void assessMarkedJobs() throws ManifoldCFExceptionAssess jobs marked to be in need of assessment for connector status changes.- Throws:
ManifoldCFException
-
deleteJobsReadyForDelete
void deleteJobsReadyForDelete() throws ManifoldCFExceptionDelete jobs in need of being deleted (which are marked "ready for delete"). This method is meant to be called periodically to perform delete processing on jobs.- Throws:
ManifoldCFException
-
getNextDeletableDocuments
DocumentDescription[] getNextDeletableDocuments(java.lang.String processID, int n, long currentTime) throws ManifoldCFException
Get list of deletable document descriptions. This list will take into account multiple jobs that may own the same document.- Parameters:
processID- is the current process ID.n- is the maximum number of documents to return.currentTime- is the current time; some fetches do not occur until a specific time.- Returns:
- the document descriptions for these documents.
- Throws:
ManifoldCFException
-
getNextCleanableDocuments
DocumentSetAndFlags getNextCleanableDocuments(java.lang.String processID, int n, long currentTime) throws ManifoldCFException
Get list of cleanable document descriptions. This list will take into account multiple jobs that may own the same document.- Parameters:
processID- is the current process ID.n- is the maximum number of documents to return.currentTime- is the current time; some fetches do not occur until a specific time.- Returns:
- the document descriptions for these documents.
- Throws:
ManifoldCFException
-
deleteIngestedDocumentIdentifiers
void deleteIngestedDocumentIdentifiers(DocumentDescription[] identifiers) throws ManifoldCFException
Delete ingested document identifiers (as part of deleting the owning job). The number of identifiers specified is guaranteed to be less than the maxInClauseCount for the database.- Parameters:
identifiers- is the set of document identifiers.- Throws:
ManifoldCFException
-
errorAbort
boolean errorAbort(java.lang.Long jobID, java.lang.String errorText) throws ManifoldCFExceptionAbort a running job due to a fatal error condition.- Parameters:
jobID- is the job to abort.errorText- is the error text.- Returns:
- true if this is the first abort for the job.
- Throws:
ManifoldCFException
-
finishJobStops
void finishJobStops(long timestamp, java.util.List<IJobDescription> modifiedJobs, java.util.List<java.lang.Integer> stopNotificationTypes) throws ManifoldCFExceptionComplete the sequence that stops jobs, either for abort, pause, or because of a scheduling window. The logic will move the job to its next state (INACTIVE, PAUSED, ACTIVEWAIT), and will record the jobs that have been so modified.- Parameters:
timestamp- is the current time in milliseconds since epoch.modifiedJobs- is filled in with the set of IJobDescription objects that were stopped.stopNotificationTypes- is filled in with the type of stop notification.- Throws:
ManifoldCFException
-
finishJobResumes
void finishJobResumes(long timestamp, java.util.List<IJobDescription> modifiedJobs) throws ManifoldCFExceptionComplete the sequence that resumes jobs, either from a pause or from a scheduling window wait. The logic will restore the job to an active state (many possibilities depending on connector status), and will record the jobs that have been so modified.- Parameters:
timestamp- is the current time in milliseconds since epoch.modifiedJobs- is filled in with the set of IJobDescription objects that were resumed.- Throws:
ManifoldCFException
-
finishJobs
void finishJobs() throws ManifoldCFExceptionPut all eligible jobs in the "shutting down" state.- Throws:
ManifoldCFException
-
resetJobs
void resetJobs(long currentTime, java.util.List<IJobDescription> resetJobs) throws ManifoldCFExceptionReset eligible jobs either back to the "inactive" state, or make them active again. The latter will occur if the cleanup phase of the job generated more pending documents. This method is used to pick up all jobs in the shutting down state whose purgatory or being-cleaned records have been all processed.- Parameters:
currentTime- is the current time in milliseconds since epoch.resetJobs- is filled in with the set of IJobDescription objects that were reset.- Throws:
ManifoldCFException
-
getStatus
JobStatus getStatus(java.lang.Long jobID) throws ManifoldCFException
Get the status of a job.- Parameters:
jobID- is the job ID.- Returns:
- the status object for the specified job.
- Throws:
ManifoldCFException
-
getAllStatus
JobStatus[] getAllStatus() throws ManifoldCFException
Get a list of all jobs, and their status information.- Returns:
- an ordered array of job status objects.
- Throws:
ManifoldCFException
-
getRunningJobs
JobStatus[] getRunningJobs() throws ManifoldCFException
Get a list of running jobs. This is for status reporting.- Returns:
- an array of the job status objects.
- Throws:
ManifoldCFException
-
getFinishedJobs
JobStatus[] getFinishedJobs() throws ManifoldCFException
Get a list of completed jobs, and their statistics.- Returns:
- an array of the job status objects.
- Throws:
ManifoldCFException
-
getStatus
JobStatus getStatus(java.lang.Long jobID, boolean includeCounts) throws ManifoldCFException
Get the status of a job.- Parameters:
jobID- is the job ID.includeCounts- is true if document counts should be included.- Returns:
- the status object for the specified job.
- Throws:
ManifoldCFException
-
getAllStatus
JobStatus[] getAllStatus(boolean includeCounts) throws ManifoldCFException
Get a list of all jobs, and their status information.- Parameters:
includeCounts- is true if document counts should be included.- Returns:
- an ordered array of job status objects.
- Throws:
ManifoldCFException
-
getRunningJobs
JobStatus[] getRunningJobs(boolean includeCounts) throws ManifoldCFException
Get a list of running jobs. This is for status reporting.- Parameters:
includeCounts- is true if document counts should be included.- Returns:
- an array of the job status objects.
- Throws:
ManifoldCFException
-
getFinishedJobs
JobStatus[] getFinishedJobs(boolean includeCounts) throws ManifoldCFException
Get a list of completed jobs, and their statistics.- Parameters:
includeCounts- is true if document counts should be included.- Returns:
- an array of the job status objects.
- Throws:
ManifoldCFException
-
getStatus
JobStatus getStatus(java.lang.Long jobID, boolean includeCounts, int maxCount) throws ManifoldCFException
Get the status of a job.- Parameters:
jobID- is the job ID.includeCounts- is true if document counts should be included.maxCount- is the maximum number of documents we want to count for each status.- Returns:
- the status object for the specified job.
- Throws:
ManifoldCFException
-
getAllStatus
JobStatus[] getAllStatus(boolean includeCounts, int maxCount) throws ManifoldCFException
Get a list of all jobs, and their status information.- Parameters:
includeCounts- is true if document counts should be included.maxCount- is the maximum number of documents we want to count for each status.- Returns:
- an ordered array of job status objects.
- Throws:
ManifoldCFException
-
getRunningJobs
JobStatus[] getRunningJobs(boolean includeCounts, int maxCount) throws ManifoldCFException
Get a list of running jobs. This is for status reporting.- Parameters:
includeCounts- is true if document counts should be included.maxCount- is the maximum number of documents we want to count for each status.- Returns:
- an array of the job status objects.
- Throws:
ManifoldCFException
-
getFinishedJobs
JobStatus[] getFinishedJobs(boolean includeCounts, int maxCount) throws ManifoldCFException
Get a list of completed jobs, and their statistics.- Parameters:
includeCounts- is true if document counts should be included.maxCount- is the maximum number of documents we want to count for each status.- Returns:
- an array of the job status objects.
- Throws:
ManifoldCFException
-
genDocumentStatus
IResultSet genDocumentStatus(java.lang.String connectionName, StatusFilterCriteria filterCriteria, SortOrder sortOrder, int startRow, int rowCount) throws ManifoldCFException
Run a 'document status' report.- Parameters:
connectionName- is the name of the connection.filterCriteria- are the criteria used to limit the records considered for the report.sortOrder- is the specified sort order of the final report.startRow- is the first row to include.rowCount- is the number of rows to include.- Returns:
- the results, with the following columns: identifier, job, state, status, scheduled, action, retrycount, retrylimit. The "scheduled" column and the "retrylimit" column are long values representing a time; all other values will be user-friendly strings.
- Throws:
ManifoldCFException
-
genQueueStatus
IResultSet genQueueStatus(java.lang.String connectionName, StatusFilterCriteria filterCriteria, SortOrder sortOrder, BucketDescription idBucketDescription, int startRow, int rowCount) throws ManifoldCFException
Run a 'queue status' report.- Parameters:
connectionName- is the name of the connection.filterCriteria- are the criteria used to limit the records considered for the report.sortOrder- is the specified sort order of the final report.idBucketDescription- is the bucket description for generating the identifier class.startRow- is the first row to include.rowCount- is the number of rows to include.- Returns:
- the results, with the following columns: idbucket, inactive, processing, expiring, deleting, processready, expireready, processwaiting, expirewaiting
- Throws:
ManifoldCFException
-
-