| 
    Node Director
    
   | 
 
  
 Classes | |
| class | encapsulatedInt | 
| class | ExecutorThread | 
Public Member Functions | |
| void | ParallelScheduler () | 
| synchronized void | attach () throws DirectorException | 
| Start scheduler and attach it to the job queue.   | |
| synchronized void | detach () throws DirectorException | 
| Stop scheduler and detach from the job queue.   | |
| synchronized void | goThroughCmds () throws DirectorException | 
| synchronized void | removeOldJobs () throws DirectorException | 
| synchronized void | goThroughQueue () throws DirectorException | 
| Job | getJob (String id) | 
| Get a pending job from the in-memory job queue.   | |
| String | getStatus () | 
| return human readable status information   | |
| String | dumpStatus () | 
  Public Member Functions inherited from sfi.director.schedule.SimpleScheduler | |
| void | SimpleScheduler () | 
| void | goThroughVector (Vector jobqueue) throws DirectorException | 
  Public Member Functions inherited from sfi.director.schedule.Scheduler | |
| void | claimQueue (int timeout) throws DirectorException | 
| void | claimQueue () throws DirectorException | 
| boolean | isQueueMine () | 
| void | releaseQueue () throws DirectorException | 
| void | notifyServer () throws DirectorException | 
| void | scheduleDSUpdate (Enumeration classes) throws DirectorException | 
| void | scheduleDSUpdate (DBObject dbo) throws DirectorException | 
| void | scheduleShutdown () throws DirectorException | 
| void | scheduleRemoteHostPw (String login, String pw) throws DirectorException | 
| void | scheduleJob (Job job) throws DirectorException | 
| void | scheduleJob (Enumeration jobs) throws DirectorException | 
| synchronized void | executePendingDSUpdate () | 
| void | purgeOldJobs () throws DirectorException | 
| Options | getOptions () | 
| get schedule options.   | |
| boolean | isShutdown () | 
| ask if we are requested to shut down.   | |
| boolean | isSchedulerRunning () throws DirectorException | 
| ask if there is a scheduler running on our cmd/job queue.   | |
| Options | getRunningSchedulerOpts () throws DirectorException | 
| retrieve the options of a scheduler running on our cmd/job queue.   | |
| String | getRunningSchedulerId () throws DirectorException | 
| retrieve the ID of a scheduler running on our cmd/job queue.   | |
| String | getRunningSchedulerHost () throws DirectorException | 
| retrieve the host of a scheduler running on our cmd/job queue.   | |
| void | rescan () throws DirectorException | 
| do a rescan of the job/cmd queues   | |
| void | setPriviledged (boolean priviledged) | 
| choose queue for the next addCmd() (schedule*()) invocation.   | |
Protected Member Functions | |
| void | saveQueue () | 
| void | finalize () | 
| synchronized void | executeCmd (DBObject cmd, boolean priviledged) throws DirectorException | 
| void | markHeads (int from) | 
| go through structure of newly loaded jobs and mark head jobs   | |
| void | parallelizedExec () | 
Additional Inherited Members | |
  Static Public Member Functions inherited from sfi.director.schedule.Scheduler | |
| static Vector | loadQueue (DBConnection queue) throws DirectorException | 
| static Vector | identifyHeads (Vector queue) | 
  Static Public Attributes inherited from sfi.director.schedule.Scheduler | |
| final static String | scheduleOptAttr = "sfijobschedule-option" | 
| void sfi.director.schedule.ParallelScheduler.ParallelScheduler | ( | ) | 
| synchronized void sfi.director.schedule.ParallelScheduler.attach | ( | ) | throws DirectorException | 
Start scheduler and attach it to the job queue.
Reimplemented from sfi.director.schedule.Scheduler.
References sfi.director.repository.DBSet.add(), sfi.director.schedule.Scheduler.claimQueue(), sfi.director.util.Tools.debug(), sfi.director.jobs.Job.getId(), sfi.director.util.Setup.jobqueuedb, sfi.director.schedule.Scheduler.loadQueue(), and sfi.director.jobs.Job.todb().
| synchronized void sfi.director.schedule.ParallelScheduler.detach | ( | ) | throws DirectorException | 
Stop scheduler and detach from the job queue.
Reimplemented from sfi.director.schedule.Scheduler.
References sfi.director.util.Tools.log(), sfi.director.schedule.Scheduler.releaseQueue(), sfi.director.schedule.ParallelScheduler.saveQueue(), sfi.director.util.StoppableThread.stopGracefully(), and sfi.director.util.Logger.WARNING.
Referenced by sfi.director.schedule.ParallelScheduler.finalize().
| String sfi.director.schedule.ParallelScheduler.dumpStatus | ( | ) | 
      
  | 
  protected | 
Reimplemented from sfi.director.schedule.Scheduler.
References sfi.director.repository.DBSet.add(), sfi.director.repository.DBConnection.append(), sfi.director.util.Tools.debug(), sfi.director.util.Logger.ERR, sfi.director.jobs.Job.getId(), sfi.director.jobs.Job.Job(), sfi.director.util.Setup.jobqueuedb, sfi.director.util.Tools.log(), and sfi.director.util.Logger.WARNING.
      
  | 
  protected | 
| Job sfi.director.schedule.ParallelScheduler.getJob | ( | String | jobId | ) | 
Get a pending job from the in-memory job queue.
If the job is not held in memory return null. This explicitly will not try to retrieve a job from the jobqueue database!
Reimplemented from sfi.director.schedule.Scheduler.
| String sfi.director.schedule.ParallelScheduler.getStatus | ( | ) | 
return human readable status information
Reimplemented from sfi.director.schedule.Scheduler.
References sfi.director.jobs.Job.getDescr(), sfi.director.jobs.RemoteJob.getHost(), sfi.director.jobs.Job.getId(), and sfi.director.jobs.Job.getName().
Referenced by sfi.director.schedule.ParallelScheduler.dumpStatus().
| synchronized void sfi.director.schedule.ParallelScheduler.goThroughCmds | ( | ) | throws DirectorException | 
Reimplemented from sfi.director.schedule.Scheduler.
References sfi.director.util.Setup.cmdqueuedb, sfi.director.util.Lock.Lock(), sfi.director.schedule.ParallelScheduler.markHeads(), sfi.director.util.Setup.reqqueuedb, sfi.director.schedule.Scheduler.runThroughCmdQueue(), sfi.director.schedule.ParallelScheduler.saveQueue(), sfi.director.repository.DBConnection.search(), sfi.director.util.Tools.setThreadSubStatus(), sfi.director.util.Lock.unlock(), and sfi.director.repository.DBConnection.unwrap().
| synchronized void sfi.director.schedule.ParallelScheduler.goThroughQueue | ( | ) | throws DirectorException | 
      
  | 
  protected | 
go through structure of newly loaded jobs and mark head jobs
References sfi.director.jobs.Job.getDescr(), sfi.director.schedule.Scheduler.identifyHeads(), sfi.director.jobs.JobNode.log(), sfi.director.util.Logger.NOTICE, and sfi.director.jobs.JobNode.setHead().
Referenced by sfi.director.schedule.ParallelScheduler.goThroughCmds().
      
  | 
  protected | 
References sfi.director.util.Tools.debug(), sfi.director.jobs.JobStatus.equals(), sfi.director.util.MyProperties.getPropertyInteger(), sfi.director.jobs.Job.getScheduleOption(), sfi.director.jobs.Job.getStatus(), sfi.director.util.Logger.INFO, sfi.director.util.StoppableThread.keeprunning, sfi.director.util.Tools.log(), sfi.director.util.Setup.properties, sfi.director.jobs.JobStatus.runnable, sfi.director.schedule.ParallelScheduler.saveQueue(), and sfi.director.util.Logger.WARNING.
Referenced by sfi.director.schedule.ParallelScheduler.goThroughQueue().
| synchronized void sfi.director.schedule.ParallelScheduler.removeOldJobs | ( | ) | throws DirectorException | 
Reimplemented from sfi.director.schedule.Scheduler.
References sfi.director.jobs.Job.getCreationTime(), sfi.director.jobs.Job.getId(), sfi.director.util.MyProperties.getPropertyInteger(), sfi.director.jobs.Job.getScheduleOption(), sfi.director.jobs.Job.getStatus(), sfi.director.schedule.Scheduler.identifyHeads(), sfi.director.util.Logger.INFO, sfi.director.jobs.JobStatus.isFinal(), sfi.director.util.Tools.log(), and sfi.director.util.Setup.properties.
      
  | 
  protected | 
References sfi.director.util.Tools.debug(), sfi.director.repository.DBObject.diffAttributes(), sfi.director.repository.DBSet.get(), sfi.director.repository.DBObject.getDN(), sfi.director.jobs.Job.getId(), sfi.director.util.Setup.jobqueuedb, sfi.director.util.Tools.log(), sfi.director.repository.DBSet.replace(), sfi.director.repository.DBConnection.replace(), sfi.director.util.Tools.setThreadSubStatus(), sfi.director.jobs.Job.todb(), sfi.director.repository.DBObject.toLDIF(), and sfi.director.util.Logger.WARNING.
Referenced by sfi.director.schedule.ParallelScheduler.detach(), sfi.director.schedule.ParallelScheduler.goThroughCmds(), and sfi.director.schedule.ParallelScheduler.parallelizedExec().
 1.8.1.2