Skip to main content
A worker is your process that runs workflow steps. It opens one connection to the project, registers its workflows and takes steps as runs need them.

Connect

A dropped connection is dialled again with backoff, and the worker registers again each time. A revoked key, an invalid registration or invalid flow control stops it for good: closed rejects with ConnectRefusedError.

Stop

worker.close() takes no new steps, lets the ones in flight finish, then closes; worker.closed settles once it has stopped.

Builds

A worker’s build is the buildId it passes to connect (or DURATON_BUILD_ID); a worker that names none gets m: and a hash of the workflows it registered. Each is absent until a worker with a build takes the run. A run in flight keeps the steps it has finished when you deploy new code: a step is matched by its id, and a finished step is replayed from its stored result. Change a step’s id when its meaning changes, so the run runs the new step instead of replaying the old result.

Connected workers

client.runners.list(), or GET /runners, lists each worker connected now: