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) jakarta.ws.rs.core.ResponsegetLargestJobMachine(int id, double runTime) getNextJob(String executerId) jakarta.ws.rs.core.ResponsevoidreleaseMachine(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
public jakarta.ws.rs.core.Response getJobProcessManager()- Specified by:
getJobProcessManagerin interfaceJobManagerInterface
-
getSetupScript
- Specified by:
getSetupScriptin interfaceJobManagerInterface- Throws:
IOException
-