Worker Hierarchy


The queue defines a hierarchy of resources that consume tasks from queues:

Provisioners

Provisioners, identified with a provisionerId, are responsible for groups of worker types. While some provisioners, such as the AWS provisioner, are active software components, others are simply identifiers within the Queue service's data structures. For example, there is no active management of the releng-hardware provisionerId.

Provisioners can be declared, and metadata associated with them, via the declareProvisioner API method.

Worker Types

Worker Types, identified by provisionerId/workerType, are nested under a single provisioner and gather interchangeable workers that can all perform the same work. Tasks are queued for a specific worker type, and workers claim work for a single worker type.

Worker types can be declared, and metadata associated with them, via the declareWorkerType API method.

Workers

Workers are the entities that actually perform work, and are identified by workerGroup/workerId. A worker claims and performs work from a single worker type.

Workers can be declared, and metadata associated with them, via the declareWorker API method.