Class DebugDependentProcessor<T extends InputFromManager,S>

Object
AnchorBean<JobProcessor<T,S>>
JobProcessor<T,S>
DebugDependentProcessor<T,S>
Type Parameters:
T - input-object type
S - shared-object state
All Implemented Interfaces:
ReplaceTask<T,S>

public class DebugDependentProcessor<T extends InputFromManager,S> extends JobProcessor<T,S>
Executes different processors depending on whether we are in debug mode or not.
Author:
Owen Feehan
  • Constructor Details

    • DebugDependentProcessor

      public DebugDependentProcessor()
  • Method Details

    • execute

      protected TaskStatistics execute(Outputter rootOutputter, List<T> inputs, ParametersExperiment parametersExperiment) throws ExperimentExecutionException
      Description copied from class: JobProcessor
      Executes the task on all inputs.

      It is expected that elements are removed from inputs as they are consumed so as to allow garbage-collection of these items before all jobs are processed (as the list might be quite large).

      Specified by:
      execute in class JobProcessor<T extends InputFromManager,S>
      Parameters:
      rootOutputter - an outputter, bound to the base (root) output directory into which outputted files are written.
      inputs - the inputs to apply task on.
      parametersExperiment - parameters that exist pertaining to the experiment that is underway.
      Returns:
      statistics about the success/failure/execution-time etc. of applying the task to inputs.
      Throws:
      ExperimentExecutionException - if anything goes wrong executing the experiment (but not necessarily if a processing a particular input fails when suppressExceptions == true.
    • getMaxNumberProcessors

      public int getMaxNumberProcessors()
      An upper limit on the number of the processors that can be simultaneously used in parallel, if they are available.

      If the current ParametersExperiment suggests an alternative maximum, it is afforded precedence over this property.

    • setMaxNumberProcessors

      public void setMaxNumberProcessors(int maxNumberProcessors)
      An upper limit on the number of the processors that can be simultaneously used in parallel, if they are available.

      If the current ParametersExperiment suggests an alternative maximum, it is afforded precedence over this property.

    • getKeepProcessorsFree

      public int getKeepProcessorsFree()
      How many processors to avoid using for the tasks.

      When using the maximum available number of processors, a certain amount are deliberately not used, to save them for other tasks on the operating system. This is particularly valuable on a desktop PC where other tasks (e.g web browsing) may be ongoing during processing.

    • setKeepProcessorsFree

      public void setKeepProcessorsFree(int keepProcessorsFree)
      How many processors to avoid using for the tasks.

      When using the maximum available number of processors, a certain amount are deliberately not used, to save them for other tasks on the operating system. This is particularly valuable on a desktop PC where other tasks (e.g web browsing) may be ongoing during processing.