TaskManager
will call the task's {@link Task#run run} method as soon as possible after thecompletion of the task in which this method is called, according to its scheduling algorithm. If the call to the run
method throws an exception, that exception implements {@link ExceptionRetryStatus}, and its {@link ExceptionRetryStatus#shouldRetry shouldRetry} method returnstrue
, then the TaskManager
will make further attempts to run the task. It will continue those attempts until either an attempt succeeds or it notices an exception is thrown that is not retryable. The TaskManager
is permitted to treat a non-retryable exception as a hint. In particular, a task that throws a non-retryable exception may be retried if the node running the task crashes.
@param task the task to run
@throws IllegalArgumentException if task
does notimplement {@link Serializable}
@throws TaskRejectedException if the TaskManager
refusesto accept the task because of resource limitations
@throws TransactionException if the operation failed because of aproblem with the current transaction
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|