public class TaskManager extends AbstractComponent implements ClusterStateApplier
deprecationLogger, logger, settings
Constructor and Description |
---|
TaskManager(Settings settings) |
Modifier and Type | Method and Description |
---|---|
void |
applyClusterState(ClusterChangedEvent event)
Called when a new cluster state (
ClusterChangedEvent.state() needs to be applied |
boolean |
cancel(CancellableTask task,
java.lang.String reason,
java.lang.Runnable listener)
Cancels a task
|
int |
getBanCount()
Returns the number of currently banned tasks.
|
CancellableTask |
getCancellableTask(long id)
Returns a cancellable task with given id, or null if the task is not found.
|
java.util.Map<java.lang.Long,CancellableTask> |
getCancellableTasks()
Returns the list of currently running tasks on the node that can be cancelled
|
Task |
getTask(long id)
Returns a task with given id, or null if the task is not found.
|
java.util.Map<java.lang.Long,Task> |
getTasks()
Returns the list of currently running tasks on the node
|
Task |
register(java.lang.String type,
java.lang.String action,
TaskAwareRequest request)
Registers a task without parent task
|
void |
removeBan(TaskId parentTaskId)
Removes the ban for the specified parent task.
|
void |
setBan(TaskId parentTaskId,
java.lang.String reason)
Bans all tasks with the specified parent task from execution, cancels all tasks that are currently executing.
|
void |
setTaskResultsService(TaskResultsService taskResultsService) |
<Response extends ActionResponse> |
storeResult(Task task,
java.lang.Exception error,
ActionListener<Response> listener)
Stores the task failure
|
<Response extends ActionResponse> |
storeResult(Task task,
Response response,
ActionListener<Response> listener)
Stores the task result
|
Task |
unregister(Task task)
Unregister the task
|
void |
waitForTaskCompletion(Task task,
long untilInNanos)
Blocks the calling thread, waiting for the task to vanish from the TaskManager.
|
logDeprecatedSetting, logRemovedSetting, nodeName
public TaskManager(Settings settings)
public void setTaskResultsService(TaskResultsService taskResultsService)
public Task register(java.lang.String type, java.lang.String action, TaskAwareRequest request)
Returns the task manager tracked task or null if the task doesn't support the task manager
public boolean cancel(CancellableTask task, java.lang.String reason, java.lang.Runnable listener)
Returns true if cancellation was started successful, null otherwise. After starting cancellation on the parent task, the task manager tries to cancel all children tasks of the current task. Once cancellation of the children tasks is done, the listener is triggered.
public <Response extends ActionResponse> void storeResult(Task task, java.lang.Exception error, ActionListener<Response> listener)
public <Response extends ActionResponse> void storeResult(Task task, Response response, ActionListener<Response> listener)
public java.util.Map<java.lang.Long,Task> getTasks()
public java.util.Map<java.lang.Long,CancellableTask> getCancellableTasks()
public Task getTask(long id)
public CancellableTask getCancellableTask(long id)
public int getBanCount()
Will be used in task manager stats and for debugging.
public void setBan(TaskId parentTaskId, java.lang.String reason)
This method is called when a parent task that has children is cancelled.
public void removeBan(TaskId parentTaskId)
This method is called when a previously banned task finally cancelled
public void applyClusterState(ClusterChangedEvent event)
ClusterStateApplier
ClusterChangedEvent.state()
needs to be appliedapplyClusterState
in interface ClusterStateApplier
public void waitForTaskCompletion(Task task, long untilInNanos)