Class RunningJobsInfoDBDAO

  • All Implemented Interfaces:
    DAO

    public class RunningJobsInfoDBDAO
    extends RunningJobsInfoDAO
    Class implementing the persistence of running job infos.
    • Constructor Detail

      • RunningJobsInfoDBDAO

        public RunningJobsInfoDBDAO()
        The constructor of RunningJobsInfoDBDAO. Attempts to update/install the necessary database tables, if they need to be updated.
    • Method Detail

      • store

        public void store​(StartedJobInfo startedJobInfo)
        Stores a StartedJobInfo record to the persistent storage. The record is stored in the monitor table, and if the elapsed time since the last history sample is equal or superior to the history sample rate, also to the history table.
        Specified by:
        store in class RunningJobsInfoDAO
        Parameters:
        startedJobInfo - the record to store.
      • getFullJobHistory

        public StartedJobInfo[] getFullJobHistory​(long jobId)
        Returns an array of all progress records chronologically sorted for the given job ID.
        Specified by:
        getFullJobHistory in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id.
        Returns:
        an array of all progress records chronologically sorted for the given job ID.
      • getHistoryRecordIds

        public Set<Long> getHistoryRecordIds()
        Returns the ids of jobs for which history records exist as an immutable set.
        Specified by:
        getHistoryRecordIds in class RunningJobsInfoDAO
        Returns:
        the ids of jobs for which history records exist.
      • getMostRecentByJobId

        public StartedJobInfo[] getMostRecentByJobId​(long jobId,
                                                     long startTime,
                                                     int limit)
        Returns an array of chronologically sorted progress records for the given job ID, starting at a given crawl time, and limited to a given number of record.
        Specified by:
        getMostRecentByJobId in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id.
        startTime - the crawl time (in seconds) to begin.
        limit - the maximum number of records to fetch.
        Returns:
        an array of chronologically sorted progress records for the given job ID, starting at a given crawl time, and limited to a given number of record.
      • getMostRecentByJobId

        public StartedJobInfo getMostRecentByJobId​(long jobId)
        Returns the most recent progress record for the given job ID.
        Specified by:
        getMostRecentByJobId in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id.
        Returns:
        the most recent progress record for the given job ID.
      • removeInfoForJob

        public int removeInfoForJob​(long jobId)
        Removes all records pertaining to the given job ID from the persistent storage.
        Specified by:
        removeInfoForJob in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id.
        Returns:
        the number of deleted records.
      • storeFrontierReport

        public int storeFrontierReport​(String filterId,
                                       InMemoryFrontierReport report,
                                       Long jobId)
        Store frontier report data to the persistent storage.
        Specified by:
        storeFrontierReport in class RunningJobsInfoDAO
        Parameters:
        report - the report to store
        filterId - the id of the filter that produced the report
        jobId - The ID of the job responsible for this report
        Returns:
        the update count
      • getFrontierReport

        public InMemoryFrontierReport getFrontierReport​(long jobId,
                                                        String filterId)
        Retrieve a frontier report from a job id and a given filter class.
        Specified by:
        getFrontierReport in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id
        filterId - the id of the filter that produced the report
        Returns:
        a frontier report
      • getFrontierReport

        public InMemoryFrontierReport getFrontierReport​(long jobId,
                                                        String filterId,
                                                        int limit,
                                                        boolean sort)
        Retrieve a frontier report from a job id, with limited results and possibility to sort by totalenqueues DESC
        Specified by:
        getFrontierReport in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id
        limit - the limit of result to query
        filterId - the id of the filter that produced the report
        sort - if true, sort the results by totalenqueues DESC
        Returns:
        a frontier report
      • getFrontierReport

        public InMemoryFrontierReport getFrontierReport​(long jobId,
                                                        int limit,
                                                        boolean sort)
        Retrieve a frontier report from a job id, with limited results and possibility to sort by totalenqueues DESC
        Specified by:
        getFrontierReport in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id
        limit - the limit of result to query
        sort - if true, sort the results by totalenqueues DESC
        Returns:
        a frontier report
      • deleteFrontierReports

        public int deleteFrontierReports​(long jobId)
        Deletes all frontier report data pertaining to the given job id from the persistent storage.
        Specified by:
        deleteFrontierReports in class RunningJobsInfoDAO
        Parameters:
        jobId - the job id
        Returns:
        the update count