Class AbstractTaskScheduler
- java.lang.Object
-
- fr.ens.biologie.genomique.eoulsan.core.schedulers.AbstractTaskScheduler
-
- All Implemented Interfaces:
TaskScheduler
- Direct Known Subclasses:
AbstractClusterTaskScheduler
,HadoopCompatibleTaskScheduler
,MonoThreadTaskScheduler
,MultiThreadTaskScheduler
public abstract class AbstractTaskScheduler extends Object implements TaskScheduler
This class define an abstract task scheduler.- Since:
- 2.0
- Author:
- Laurent Jourdren
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTaskScheduler()
Protected constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
afterExecuteTask(TaskContextImpl context, TaskResultImpl result)
Set the state of the context after executing a task.protected void
beforeExecuteTask(TaskContextImpl context)
Set the state of the context before executing a task.protected TaskResultImpl
executeTask(TaskContextImpl context)
Default executing context method.StepResult
getResult(Step step)
Get the result related to a step.StepStatus
getStatus(Step step)
Get the status related to a step.protected Step
getStep(int contextId)
Get the step related to a context.protected Step
getStep(TaskContextImpl context)
Get the step related to a context.int
getTaskDoneCount(Step step)
Get the count of done task contexts of a step.int
getTaskRunningCount(Step step)
Get the count of running task contexts of a step.int
getTaskSubmittedCount(Step step)
Get the count of submitted task contexts of a step.int
getTotalTaskDoneCount()
Get the count of done task contexts for the workflow.int
getTotalTaskRunningCount()
Get the count of running task contexts for the workflow.int
getTotalTaskSubmittedCount()
Get the count of submitted task contexts for the workflow.protected boolean
isStarted()
protected boolean
isStopped()
void
start()
Start the scheduler.void
stop()
Stop the scheduler.void
submit(Step step, TaskContextImpl context)
Submit a context to execute.void
submit(Step step, Set<TaskContextImpl> contexts)
Submit contexts to execute.void
waitEndOfTasks(Step step)
Wait the end of the task contexts.
-
-
-
Method Detail
-
getStep
protected Step getStep(TaskContextImpl context)
Get the step related to a context.- Parameters:
context
- the context- Returns:
- the step related to the context
-
getStep
protected Step getStep(int contextId)
Get the step related to a context.- Parameters:
contextId
- the context id- Returns:
- the step related to the context
-
beforeExecuteTask
protected void beforeExecuteTask(TaskContextImpl context)
Set the state of the context before executing a task.- Parameters:
context
- the context to execute
-
afterExecuteTask
protected void afterExecuteTask(TaskContextImpl context, TaskResultImpl result)
Set the state of the context after executing a task.- Parameters:
context
- the context to execute
-
executeTask
protected TaskResultImpl executeTask(TaskContextImpl context)
Default executing context method.- Parameters:
context
- the context- Returns:
- a TaskResult object
-
submit
public void submit(Step step, Set<TaskContextImpl> contexts)
Description copied from interface:TaskScheduler
Submit contexts to execute.- Specified by:
submit
in interfaceTaskScheduler
- Parameters:
step
- step related to the contextscontexts
- contexts to execute
-
submit
public void submit(Step step, TaskContextImpl context)
Description copied from interface:TaskScheduler
Submit a context to execute.- Specified by:
submit
in interfaceTaskScheduler
- Parameters:
step
- step related to the contextcontext
- context to execute
-
getStatus
public StepStatus getStatus(Step step)
Description copied from interface:TaskScheduler
Get the status related to a step.- Specified by:
getStatus
in interfaceTaskScheduler
- Parameters:
step
- a workflow step- Returns:
- the step status object related to the step
-
getResult
public StepResult getResult(Step step)
Description copied from interface:TaskScheduler
Get the result related to a step.- Specified by:
getResult
in interfaceTaskScheduler
- Parameters:
step
- a workflow step- Returns:
- the step result object related to the step
-
getTaskSubmittedCount
public int getTaskSubmittedCount(Step step)
Description copied from interface:TaskScheduler
Get the count of submitted task contexts of a step.- Specified by:
getTaskSubmittedCount
in interfaceTaskScheduler
- Parameters:
step
- a workflow step- Returns:
- the count of submitted task contexts
-
getTaskRunningCount
public int getTaskRunningCount(Step step)
Description copied from interface:TaskScheduler
Get the count of running task contexts of a step.- Specified by:
getTaskRunningCount
in interfaceTaskScheduler
- Parameters:
step
- a workflow step- Returns:
- the count of running task contexts
-
getTaskDoneCount
public int getTaskDoneCount(Step step)
Description copied from interface:TaskScheduler
Get the count of done task contexts of a step.- Specified by:
getTaskDoneCount
in interfaceTaskScheduler
- Parameters:
step
- a workflow step- Returns:
- the count of done task contexts
-
getTotalTaskSubmittedCount
public int getTotalTaskSubmittedCount()
Description copied from interface:TaskScheduler
Get the count of submitted task contexts for the workflow.- Specified by:
getTotalTaskSubmittedCount
in interfaceTaskScheduler
- Returns:
- the count of submitted task contexts
-
getTotalTaskRunningCount
public int getTotalTaskRunningCount()
Description copied from interface:TaskScheduler
Get the count of running task contexts for the workflow.- Specified by:
getTotalTaskRunningCount
in interfaceTaskScheduler
- Returns:
- the count of running task contexts
-
getTotalTaskDoneCount
public int getTotalTaskDoneCount()
Description copied from interface:TaskScheduler
Get the count of done task contexts for the workflow.- Specified by:
getTotalTaskDoneCount
in interfaceTaskScheduler
- Returns:
- the count of done task contexts
-
waitEndOfTasks
public void waitEndOfTasks(Step step)
Description copied from interface:TaskScheduler
Wait the end of the task contexts.- Specified by:
waitEndOfTasks
in interfaceTaskScheduler
- Parameters:
step
- a workflow step
-
start
public void start()
Description copied from interface:TaskScheduler
Start the scheduler.- Specified by:
start
in interfaceTaskScheduler
-
isStarted
protected boolean isStarted()
-
stop
public void stop()
Description copied from interface:TaskScheduler
Stop the scheduler.- Specified by:
stop
in interfaceTaskScheduler
-
isStopped
protected boolean isStopped()
-
-