Class ETLJob

  • All Implemented Interfaces:
    Runnable

    public class ETLJob
    extends Object
    implements Runnable
    We schedule a ETLPVLookupItems with the appropriate thread using an ETLJob
    Author:
    mshankar
    • Constructor Detail

      • ETLJob

        public ETLJob​(ETLPVLookupItems lookupItem,
                      Timestamp runAsIfAtTime)
        Mostly used by ETL unit tests.
        Parameters:
        lookupItem - ETLPVLookupItems
        runAsIfAtTime - Timestamp
    • Method Detail

      • run

        public void run()
        Specified by:
        run in interface Runnable
      • processETL

        public void processETL​(Timestamp processingTime)
                        throws IOException
        Main ETL algorithm.
        Parameters:
        processingTime - Typically we'd use TimeUtils.now() for this. However, we can also run as if it's a certain time by using this parameter.
        Throws:
        IOException -  
      • getExceptionFromLastRun

        public Exception getExceptionFromLastRun()
        Was there an exception in the last ETL run for this job Mostly used by unit tests.
        Returns:
        exceptionFromLastRun