Method called by {@link #iterate()} to process the sub task.
<p>
Implementations must start the asynchronous execution of the sub task
(if any) and return an appropriate action:
</p>
<ul>
<li>{@link Action#IDLE} when no sub tasks are available for execution
but the overall job is not completed yet</li>
<li>{@link Action#SCHEDULED} when the sub task asynchronous execution
has been started</li>
<li>{@link Action#SUCCEEDED} when the overall job is completed</li>
</ul>
@return the appropriate Action
@throws Exception if the sub task processing throws
Method called by {@link #iterate()} to process the sub task. <p> Implementations must start the asynchronous execution of the sub task (if any) and return an appropriate action: </p> <ul> <li>{@link Action#IDLE} when no sub tasks are available for execution but the overall job is not completed yet</li> <li>{@link Action#SCHEDULED} when the sub task asynchronous execution has been started</li> <li>{@link Action#SUCCEEDED} when the overall job is completed</li> </ul>
@return the appropriate Action @throws Exception if the sub task processing throws