Class BpipeTaskScheduler
- java.lang.Object
-
- fr.ens.biologie.genomique.eoulsan.core.schedulers.AbstractTaskScheduler
-
- fr.ens.biologie.genomique.eoulsan.core.schedulers.clusters.AbstractClusterTaskScheduler
-
- fr.ens.biologie.genomique.eoulsan.core.schedulers.clusters.BpipeTaskScheduler
-
- All Implemented Interfaces:
ClusterTaskScheduler
,TaskScheduler
- Direct Known Subclasses:
BundledScriptBpipeTaskScheduler
,DummyTaskScheduler
,TGCCTaskScheduler
public abstract class BpipeTaskScheduler extends AbstractClusterTaskScheduler
This class allow to submit, stop and get the status of jobs using Bpipe scheduler wrappers.- Since:
- 2.0
- Author:
- Laurent Jourdren
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class fr.ens.biologie.genomique.eoulsan.core.schedulers.clusters.AbstractClusterTaskScheduler
AbstractClusterTaskScheduler.ProcessThreadOutput
-
Nested classes/interfaces inherited from interface fr.ens.biologie.genomique.eoulsan.core.schedulers.clusters.ClusterTaskScheduler
ClusterTaskScheduler.StatusResult, ClusterTaskScheduler.StatusValue
-
-
Constructor Summary
Constructors Constructor Description BpipeTaskScheduler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected Map<String,String>
additionalScriptEnvironment()
Define additional environment variable for bpipe scripts.void
cleanupJob(String jobId)
Cleanup after a job.void
configure(Settings settings)
Configure the scheduler.protected abstract File
getBpipeCommandWrapper()
Get the path to the Bpipe command wrapper.ClusterTaskScheduler.StatusResult
statusJob(String jobId)
Get the status of a job.void
stopJob(String jobId)
Stop a job.String
submitJob(String jobName, List<String> jobCommand, File jobDirectory, int taskId, int requiredMemory, int requiredProcessors)
Submit a job.-
Methods inherited from class fr.ens.biologie.genomique.eoulsan.core.schedulers.clusters.AbstractClusterTaskScheduler
stop, submit
-
Methods inherited from class fr.ens.biologie.genomique.eoulsan.core.schedulers.AbstractTaskScheduler
afterExecuteTask, beforeExecuteTask, executeTask, getResult, getStatus, getStep, getStep, getTaskDoneCount, getTaskRunningCount, getTaskSubmittedCount, getTotalTaskDoneCount, getTotalTaskRunningCount, getTotalTaskSubmittedCount, isStarted, isStopped, start, submit, waitEndOfTasks
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface fr.ens.biologie.genomique.eoulsan.core.schedulers.clusters.ClusterTaskScheduler
getSchedulerName
-
Methods inherited from interface fr.ens.biologie.genomique.eoulsan.core.schedulers.TaskScheduler
getResult, getStatus, getTaskDoneCount, getTaskRunningCount, getTaskSubmittedCount, getTotalTaskDoneCount, getTotalTaskRunningCount, getTotalTaskSubmittedCount, start, submit, waitEndOfTasks
-
-
-
-
Method Detail
-
getBpipeCommandWrapper
protected abstract File getBpipeCommandWrapper()
Get the path to the Bpipe command wrapper.- Returns:
- the File object with the path to the Bpipe command wrapper
-
configure
public void configure(Settings settings) throws EoulsanException
Description copied from interface:ClusterTaskScheduler
Configure the scheduler.- Parameters:
settings
- Eoulsan settings- Throws:
EoulsanException
- if an error occurs while configuring the scheduler
-
submitJob
public String submitJob(String jobName, List<String> jobCommand, File jobDirectory, int taskId, int requiredMemory, int requiredProcessors) throws IOException
Description copied from interface:ClusterTaskScheduler
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
public void stopJob(String jobId) throws IOException
Description copied from interface:ClusterTaskScheduler
Stop a job.- Parameters:
jobId
- job id- Throws:
IOException
- if an error occurs while stopping the job
-
statusJob
public ClusterTaskScheduler.StatusResult statusJob(String jobId) throws IOException
Description copied from interface:ClusterTaskScheduler
Get the status of a job.- Parameters:
jobId
- job id- Throws:
IOException
- if an error occurs while getting the status of the job
-
cleanupJob
public void cleanupJob(String jobId) throws IOException
Description copied from interface:ClusterTaskScheduler
Cleanup after a job.- Parameters:
jobId
- job id- Throws:
IOException
- if an error occurs while cleanup
-
-