Part of lp.buildmaster.interfaces.builder View In Hierarchy
Known subclasses: lp.buildmaster.interfaces.webservice.IBuilder
Attribute | id | Builder identifier |
Attribute | currentjob | BuildQueue instance for job being processed. |
Method | gotFailure | Increment failure_count on the builder. |
Method | resetFailureCount | Set the failure_count back to zero. |
Method | failBuilder | Mark builder as failed for a given reason. |
Method | acquireBuildCandidate | Acquire a build candidate in an atomic fashion. |
Inherited from IHasBuildRecords:
Method | getBuildRecords | Return build records in the context it is implemented. |
Inherited from IHasOwner:
Attribute | owner | The object's owner, which is an IPerson. |
When retrieiving a candidate we need to mark it as building immediately so that it is not dispatched by another builder in the build manager.
We can consider this to be atomic because although the build manager is a Twisted app and gives the appearance of doing lots of things at once, it's still single-threaded so no more than one builder scan can be in this code at the same time.
If there's ever more than one build manager running at once, then this code will need some sort of mutex.