Class JobManager
java.lang.Object
uk.ac.manchester.spinnaker.nmpi.jobmanager.JobManager
- All Implemented Interfaces:
JobManagerInterface,NMPIQueueListener
@Service("service")
public class JobManager
extends Object
implements NMPIQueueListener, JobManagerInterface
The manager of jobs; synchronises and manages all the ongoing and future
processes and machines.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intSeconds between status updates.Fields inherited from interface uk.ac.manchester.spinnaker.nmpi.model.job.JobManagerInterface
APPLICATION_JSON, APPLICATION_OCTET_STREAM, APPLICATION_ZIP, JOB_PROCESS_MANAGER, PATH, SETUP_SCRIPT, TEXT_PLAIN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a job to the listener.voidaddOutput(String projectId, int id, String output, InputStream input) voidaddProvenance(int id, List<String> path, String value) voidcheckMachineLease(int id, int waitTime) voidextendJobMachineLease(int id, double runTime) getChipCoordinates(int id, String machineName, int chipX, int chipY) getJobMachine(int id, int nCores, int nChips, int nBoards, double runTime) getLargestJobMachine(int id, double runTime) getNextJob(String executerId) voidreleaseMachine(int id, String machineName) voidsetExecutorExited(String executorId, String logToAppend) Mark the executor as having exited.voidsetJobError(String projectId, int id, String error, String logToAppend, String baseDirectory, List<String> outputs, RemoteStackTrace stackTrace) voidsetJobFinished(String projectId, int id, String logToAppend, String baseDirectory, List<String> outputs) voidsetMachinePower(int id, String machineName, boolean powerOn)
-
Field Details
-
STATUS_UPDATE_PERIOD
public static final int STATUS_UPDATE_PERIODSeconds between status updates.- See Also:
-
-
Constructor Details
-
JobManager
Create a job manager.- Parameters:
baseUrl- The URL of the REST service of the manager.
-
-
Method Details
-
addJob
Description copied from interface:NMPIQueueListenerAdds a job to the listener.- Specified by:
addJobin interfaceNMPIQueueListener- Parameters:
job- The job to add.- Throws:
IOException- If anything goes wrong.
-
getNextJob
- Specified by:
getNextJobin interfaceJobManagerInterface
-
getLargestJobMachine
- Specified by:
getLargestJobMachinein interfaceJobManagerInterface
-
getJobMachine
- Specified by:
getJobMachinein interfaceJobManagerInterface
-
releaseMachine
- Specified by:
releaseMachinein interfaceJobManagerInterface
-
setMachinePower
- Specified by:
setMachinePowerin interfaceJobManagerInterface
-
getChipCoordinates
- Specified by:
getChipCoordinatesin interfaceJobManagerInterface
-
extendJobMachineLease
public void extendJobMachineLease(int id, double runTime) - Specified by:
extendJobMachineLeasein interfaceJobManagerInterface
-
checkMachineLease
- Specified by:
checkMachineLeasein interfaceJobManagerInterface
-
appendLog
- Specified by:
appendLogin interfaceJobManagerInterface
-
addOutput
- Specified by:
addOutputin interfaceJobManagerInterface
-
addProvenance
- Specified by:
addProvenancein interfaceJobManagerInterface
-
setJobFinished
public void setJobFinished(String projectId, int id, String logToAppend, String baseDirectory, List<String> outputs) - Specified by:
setJobFinishedin interfaceJobManagerInterface
-
setJobError
public void setJobError(String projectId, int id, String error, String logToAppend, String baseDirectory, List<String> outputs, RemoteStackTrace stackTrace) - Specified by:
setJobErrorin interfaceJobManagerInterface
-
setExecutorExited
Mark the executor as having exited.- Parameters:
executorId- The ID of the executor in questionlogToAppend- The log messages
-
getJobProcessManager
- Specified by:
getJobProcessManagerin interfaceJobManagerInterface
-
getSetupScript
- Specified by:
getSetupScriptin interfaceJobManagerInterface- Throws:
IOException
-