Class JobDispatcher


  • public class JobDispatcher
    extends Object
    This class handles dispatching of Harvest jobs to the Harvesters.
    • Constructor Detail

      • JobDispatcher

        public JobDispatcher​(JMSConnection jmsConnection,
                             HarvestDefinitionDAO hDao,
                             JobDAO jobDao)
        Parameters:
        jmsConnection - The JMS connection to use.
        hDao - The HarvestDefinitionDAO to use.
        jobDao - The JobDAO to use.
    • Method Detail

      • submitNextNewJob

        protected void submitNextNewJob​(HarvestChannel channel)
        Submit the next new job (the one with the lowest ID) with the given priority, and updates the internal counter as needed. If no jobs are ready for the given priority, nothing is done
        Parameters:
        channel - the Channel to use for the job.
      • doOneCrawl

        public void doOneCrawl​(Job job,
                               String origHarvestName,
                               String origHarvestDesc,
                               String origHarvestSchedule,
                               HarvestChannel channel,
                               String origHarvestAudience,
                               List<MetadataEntry> metadata)
                        throws ArgumentNotValid,
                               IOFailure
        Submit an doOneCrawl request to a HarvestControllerServer.
        Parameters:
        job - the specific job to send
        origHarvestName - the harvest definition's name
        origHarvestDesc - the harvest definition's description
        origHarvestSchedule - the harvest definition schedule name
        channel - the channel to which the job should be sent
        metadata - pre-harvest metadata to store in (w)arcfile.
        origHarvestAudience - the audience for the data generated by harvest definitions.
        Throws:
        ArgumentNotValid - one of the parameters are null
        IOFailure - if unable to send the doOneCrawl request to a harvestControllerServer