<a id="worker-cont"></a>

# Worker

> See first: User docs | Worker

In Juju, a **worker** is any type that implements [the worker interface](https://documentation.ubuntu.com/juju/3.6/contributor/reference/worker-interface.md#worker-interface).

Examples of workers include [the dependency engine](https://documentation.ubuntu.com/juju/3.6/contributor/reference/dependency-package.md#newengine), instances run by the dependency
engine (the typical usage of the term “worker”),
and [watchers](https://github.com/juju/juju/blob/HEAD/core/watcher/watcher.go).

Note: A Juju [agent](https://documentation.ubuntu.com/juju/3.6/contributor/reference/agent.md#agent-cont) runs one or more workers at the same time in parallel. A worker may run / be run by
another worker.

## List of workers run by the dependency engine

In Juju, the term “worker” is most commonly used to denote types whose instances are run by the dependency engine.

> The most important workers to know about are: the `uniter`, the `deployer`, the `provisioner`, the `caasapplicationprovisioner`, the `charmdownloader`, and the `undertaker`.
