Interface ClusterTaskScheduler
-
- All Superinterfaces:
TaskScheduler
- All Known Implementing Classes:
AbstractClusterTaskScheduler,BpipeTaskScheduler,BundledScriptBpipeTaskScheduler,DummyTaskScheduler,HTCondorTaskScheduler,PBSProTaskScheduler,SLURMTaskScheduler,TGCCTaskScheduler,TORQUETaskScheduler
public interface ClusterTaskScheduler extends TaskScheduler
This interface define a cluster task scheduler.- Since:
- 2.0
- Author:
- Laurent Jourdren
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classClusterTaskScheduler.StatusResultThis class define a Status result return by the statusJob() method of the interface.static classClusterTaskScheduler.StatusValueThis enum define the values of the status of a job.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidcleanupJob(String jobId)Cleanup after a job.voidconfigure(Settings settings)Configure the scheduler.StringgetSchedulerName()Get the scheduler name.ClusterTaskScheduler.StatusResultstatusJob(String jobId)Get the status of a job.voidstopJob(String jobId)Stop a job.StringsubmitJob(String jobName, List<String> jobCommand, File jobDirectory, int taskId, int requiredMemory, int requiredProcessors)Submit a job.-
Methods inherited from interface fr.ens.biologie.genomique.eoulsan.core.schedulers.TaskScheduler
getResult, getStatus, getTaskDoneCount, getTaskRunningCount, getTaskSubmittedCount, getTotalTaskDoneCount, getTotalTaskRunningCount, getTotalTaskSubmittedCount, start, stop, submit, submit, waitEndOfTasks
-
-
-
-
Method Detail
-
getSchedulerName
String getSchedulerName()
Get the scheduler name.- Returns:
- the name of the scheduler
-
configure
void configure(Settings settings) throws EoulsanException
Configure the scheduler.- Parameters:
settings- Eoulsan settings- Throws:
EoulsanException- if an error occurs while configuring the scheduler
-
submitJob
String submitJob(String jobName, List<String> jobCommand, File jobDirectory, int taskId, int requiredMemory, int requiredProcessors) throws IOException
Submit a job.- Parameters:
jobName- job namejobCommand- job commandjobDirectory- job directorytaskId- task idrequiredMemory- required memoryrequiredProcessors- required processors- Returns:
- a String with the id of the submitted job
- Throws:
IOException- if an error occurs while submitting job
-
stopJob
void stopJob(String jobId) throws IOException
Stop a job.- Parameters:
jobId- job id- Throws:
IOException- if an error occurs while stopping the job
-
statusJob
ClusterTaskScheduler.StatusResult statusJob(String jobId) throws IOException
Get the status of a job.- Parameters:
jobId- job id- Throws:
IOException- if an error occurs while getting the status of the job
-
cleanupJob
void cleanupJob(String jobId) throws IOException
Cleanup after a job.- Parameters:
jobId- job id- Throws:
IOException- if an error occurs while cleanup
-
-