Caution
This page documents the latest, unreleased version of Buildbot. For documentation for released versions, see http://docs.buildbot.net/current/.
3.8.14. Masters connector
- class buildbot.db.masters.MastersConnectorComponent
This class handles tracking the buildmasters in a multi-master configuration. Masters “check in” periodically. Other masters monitor the last activity times, and mark masters that have not recently checked in as inactive.
Masters are represented by a
MasterModel
dataclass with the following fields:id
– the ID of this mastername
– the name of the master (generally of the formhostname:basedir
)active
– true if this master is runninglast_active
– time that this master last checked in (a datetime object)
- findMasterId(name)
- Parameters:
name (unicode) – name of this master
- Returns:
master id via Deferred
Return the master ID for the master with this master name (generally
hostname:basedir
). If such a master is already in the database, this returns the ID. If not, the master is added to the database, withactive=False
, and its ID returned.
- setMasterState(masterid, active)
- Parameters:
masterid (integer) – the master to check in
active (boolean) – whether to mark this master as active or inactive
- Returns:
boolean via Deferred
Mark the given master as active or inactive, returning true if the state actually changed. If
active
is true, thelast_active
time is updated to the current time. Ifactive
is false, then any links to this master, such as schedulers, will be deleted.
- getMaster(masterid)
- Parameters:
masterid (integer) – the master to check in
- Returns:
MasterModel
or None via Deferred
Get the indicated master.
- getMasters()
- Returns:
list of
MasterModel
via Deferred
Get a list of the masters, represented as
MasterModel
; masters are sorted and paged using generic data query options
- setAllMastersActiveLongTimeAgo()
- Returns:
None via Deferred
This method is intended to be called by upgrade-master, and will effectively force housekeeping on all masters at next startup. This method is not intended to be called outside of housekeeping scripts.