“Job?” Submission Service

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 


Objects:

 

 

 

All non-Java objects are in a package like net.ppdg.cjhs

 

 

// This passes a request to service. The request contains

// a CompositeJob and extra information.  This call

// returns an int ID to later refer to request.

int create (CJRequest request) throws CJHException

 

// Check to see if composite job can run, but doesn’t

// communicate with any other service.

// Maybe should return more complex type

// FeaturesNotSupportedList checkSupportedFeatures

boolean isRequestValid(int requestID) throws CJHException

 

// Actually runs or executes composite job is true and if false

// it asks service to analyze the time that composite job

// will take and maybe other information and returns

// a complex info object.  Actually executes resource

// broker algorthm.

CJInfo submit(int requestID, boolean simulate) throws CJHException

 

// Gets overall global run information.  Contains list of sub job IDs.

CJRunInfo getStatus(int requestID) throws CJHException

 

// Gets info on particular sub job, so that overall run info doesn’t have

// to go through each sub job and get info.

CJSubJobInfo getSubJobStatus(int subJobID) throws CJHExceptin

 

// Need control methods???

stop

pause

restart / resume

cancel

requeue

suspend

kill

 

// Removes all reference of composite job request on service

void destroy (int requestID) throws CJHException

 

 

 

EXAMPLES

 

1) create, submit, destroy

2) create, checkSupport, destroy

3) create, checkSupport, submit, destroy

4) create, checkSupport, estimate, destroy

5) create, estimate, destroy

6) create, checkSupport, estimate, submit, destroy