# Package-level declarations

Workers allow running pieces of work in the background, either in-process in isolated classloaders or out-of-process in reusable daemons.

#### Since

3.5

## Types

ClassLoaderWorkerSpec
Link copied to clipboard
interface ClassLoaderWorkerSpec : WorkerSpec
A worker spec providing the requirements of an isolated classpath.
ForkingWorkerSpec
Link copied to clipboard
interface ForkingWorkerSpec : WorkerSpec
A worker spec providing the requirements of a forked process.
ProcessWorkerSpec
Link copied to clipboard
interface ProcessWorkerSpec : ForkingWorkerSpec, ClassLoaderWorkerSpec
A worker spec providing the requirements of a forked process with a custom classpath.
WorkAction
Link copied to clipboard
interface WorkAction<T : WorkParameters?>
Represents the implementation of a unit of work to be used when submitting work to the WorkerExecutor.
WorkerExecutionException
Link copied to clipboard
open class WorkerExecutionException : DefaultMultiCauseException
Indicates that a failure occurred during execution of work in a worker.
WorkerExecutor
Link copied to clipboard
@ServiceScope(value = Project::class)
interface WorkerExecutor
Allows work to be submitted for asynchronous execution.
WorkerSpec
Link copied to clipboard
interface WorkerSpec
Represents the common configuration of a worker.
WorkParameters
Link copied to clipboard
interface WorkParameters
Marker interface for parameter objects to WorkActions.
WorkQueue
Link copied to clipboard
interface WorkQueue
Represents a queue of work items with a uniform set of worker requirements.