public class Reactor extends Object implements Iterable<org.jvnet.hudson.reactor.Reactor.Node>
Task
s that dependend on each other.
As a Set
, this object represents a read-only view of all Task
s.
Constructor and Description |
---|
Reactor(Collection<? extends TaskBuilder> builders) |
Reactor(TaskBuilder... builders) |
Modifier and Type | Method and Description |
---|---|
void |
add(Task t)
Adds a new
Task to the reactor. |
void |
addAll(Iterable<? extends Task> _tasks)
Adds a set of taks to the reactor.
|
void |
execute(Executor e) |
void |
execute(Executor e,
ReactorListener listener)
Executes this initialization session with the given executor.
|
Iterator<org.jvnet.hudson.reactor.Reactor.Node> |
iterator() |
protected void |
runTask(Task t)
Can be overridden by the subtype to enclose the entire execution of the task.
|
int |
size() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public Reactor(Collection<? extends TaskBuilder> builders) throws IOException
IOException
public Reactor(TaskBuilder... builders) throws IOException
IOException
public Iterator<org.jvnet.hudson.reactor.Reactor.Node> iterator()
public int size()
public void execute(Executor e) throws InterruptedException, ReactorException
InterruptedException
ReactorException
public void add(Task t)
Task
to the reactor.
This can be even invoked during execution.
public void addAll(Iterable<? extends Task> _tasks)
When adding a series of related tasks, it's often necessary to add them as a bulk, or else the newly added task can start executing before its dependencies are added.
public void execute(Executor e, ReactorListener listener) throws InterruptedException, ReactorException
e
- Used for executing Task
s.listener
- Receives callbacks during the execution.InterruptedException
- if this thread is interrupted while waiting for the execution of tasks to complete.ReactorException
- if one of the tasks failed by throwing an exception. The caller is responsible for canceling
existing Task
s that are in progress in Executor
, if that's desired.Copyright © 2016. All rights reserved.