Package com.iizigo

Class JobRescheduler

java.lang.Object
com.iizigo.JobRescheduler
All Implemented Interfaces:
IJobChangeListener

public class JobRescheduler extends Object implements IJobChangeListener
Class that is used to resquedule all jobs but certain ones. This is used during project loading and workbench start-up.
Author:
Christopher Mindus
  • Method Details

    • initialize

      public static void initialize()
      Initializes the rescheduler at startup. This method should be called from many threads and as soon as possible. Only one instance can be started anyway.
    • start

      public static boolean start(String why, boolean holdBuildJobsOnly)
      Static method to start the job rescheduler. 71
      Parameters:
      why - Short description why the rescheduler is needed, e.g. "Startup" or "Project loading".
      holdBuildJobsOnly - Flag to hold build jobs only.
      Returns:
      true for success, false if it cannot be started yet, or if one is already running.
    • isRunning

      public static boolean isRunning()
      Checks if the rescheduler is started.
      Returns:
      true if rescheduler is started, false otherwise.
    • stop

      public static boolean stop()
      Static method to stop the job rescheduler.
      Returns:
      true for success, false if not started.
    • getRunnningInstance

      public static JobRescheduler getRunnningInstance()
      Gets the started instance.
      Returns:
      The started instance of the rescheduler, or null for none.
    • addExceptionJob

      public void addExceptionJob(Job job)
      Adds a job as exception to what is allowed to run without being rescheduled.
      Parameters:
      job - The job to allow even if the rescheduler is active.
    • aboutToRun

      public void aboutToRun(IJobChangeEvent event)
      Reschedules all jobs that are not listed as exceptions.
      Specified by:
      aboutToRun in interface IJobChangeListener
      Parameters:
      event - The job change event.
    • done

      public void done(IJobChangeEvent event)
      Called when a job is done (cancel, failure or success).
      Specified by:
      done in interface IJobChangeListener
    • awake

      public void awake(IJobChangeEvent event)
      Specified by:
      awake in interface IJobChangeListener
    • running

      public void running(IJobChangeEvent event)
      Specified by:
      running in interface IJobChangeListener
    • scheduled

      public void scheduled(IJobChangeEvent event)
      Specified by:
      scheduled in interface IJobChangeListener
    • sleeping

      public void sleeping(IJobChangeEvent event)
      Specified by:
      sleeping in interface IJobChangeListener