Package net.sf.basedb.opengrid.engine
Interface ClusterEngine
- All Known Implementing Classes:
DirectEngine
,OpenGridEngine
,SlurmEngine
public interface ClusterEngine
Internal interface to be implemented once for each type
of cluster. The engine implements common functionality that
is different for each type of cluster.
- Since:
- 1.4
- Author:
- nicklas
-
Method Summary
Modifier and TypeMethodDescriptioncancelJob
(OpenGridSession session, JobIdentifier jobId) Tell the cluster that a running or waiting job should be cancelled.createJobSubmission
(OpenGridSession session, JobDefinition job, String workFolder, String tmpFolder) Create a job submission for executing a job on the cluster.getStatusIfFinished
(OpenGridSession session, JobIdentifier jobId, int timeAdjustment) Get information about a job that is expected to have finished.getStatusInQueue
(OpenGridSession session, JobIdentifier jobId, int timeAdjustment) Get information about a job that is expected to be waiting in the queue or running.void
setDefaultConfig
(ClusterConfig config) Set default configuration parameters on the given configuration object.
-
Method Details
-
setDefaultConfig
Set default configuration parameters on the given configuration object. It is expected that theClusterConfig.getType()
is a type that is compatible with the engine implementation. -
createJobSubmission
JobSubmission createJobSubmission(OpenGridSession session, JobDefinition job, String workFolder, String tmpFolder) Create a job submission for executing a job on the cluster.- Parameters:
session
- A connected session that can be used to execute commands on the clusterjob
- Information about the jobworkFolder
- The work folder where files needed for the job are storedtmpFolder
- A temporary folder where the job is allowed to store files- Returns:
- A JobSubmission instance
-
getStatusInQueue
CmdResult<JobStatus> getStatusInQueue(OpenGridSession session, JobIdentifier jobId, int timeAdjustment) Get information about a job that is expected to be waiting in the queue or running. If this is not the case, the CmdResult should return with exit status set to 1.- Parameters:
session
- A connected session that can be used to execute commands on the clusterjobId
- Job identifiertimeAdjustment
- Adjustment in seconds that should be applied to all times returned by commands on the cluster (this will make times compatible with BASE server)- Returns:
- A CmdResult instance with JobStatus information
-
getStatusIfFinished
CmdResult<JobStatus> getStatusIfFinished(OpenGridSession session, JobIdentifier jobId, int timeAdjustment) Get information about a job that is expected to have finished.- Parameters:
session
- A connected session that can be used to execute commands on the clusterjobId
- Job identifiertimeAdjustment
- Adjustment in seconds that should be applied to all times returned by commands on the cluster (this will make times compatible with BASE server)- Returns:
- A CmdResult instance with JobStatus information
-
cancelJob
Tell the cluster that a running or waiting job should be cancelled.- Parameters:
session
- A connected session that can be used to execute commands on the clusterjobId
- Job identifier- Returns:
- The result of executing the command
-