@Incubating public interface WorkerExecutor
Runnable class representing the implementation of the unit of work
and an action to configure the unit of work (via WorkerConfiguration).
workerExecutor.submit(RunnableWorkImpl.class) { WorkerConfiguration conf ->
// Set the isolation mode for the worker
conf.isolationMode = IsolationMode.NONE
// Set up the constructor parameters for the unit of work
conf.params = [ "foo", file('bar') ]
}
| Modifier and Type | Method and Description |
|---|---|
void |
await()
Blocks until all work associated with the current build operation is complete.
|
void |
submit(Class<? extends Runnable> actionClass,
Action<? super WorkerConfiguration> configAction)
Submits a piece of work to be executed asynchronously.
|
void submit(Class<? extends Runnable> actionClass, Action<? super WorkerConfiguration> configAction)
IsolationMode.PROCESS will execute in an idle daemon that meets the requirements set
in the WorkerConfiguration. If no idle daemons are available, a new daemon will be started. Any errors
will be thrown from await() or from the surrounding task action if await() is not used.void await()
throws WorkerExecutionException
WorkerExecutionException - when a failure occurs while executing the work.