l.b.i.b.IBuilderView(IHasBuildRecords, IHasOwner) : interface documentation

Part of lp.buildmaster.interfaces.builder View In Hierarchy

Known subclasses: lp.buildmaster.interfaces.webservice.IBuilder

No interface docstring
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.
id =
Builder identifier
currentjob =
BuildQueue instance for job being processed.
def gotFailure():
Increment failure_count on the builder.
def resetFailureCount():
Set the failure_count back to zero.
def failBuilder(reason):
Mark builder as failed for a given reason.
def acquireBuildCandidate():
Acquire a build candidate in an atomic fashion.

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.

API Documentation for Launchpad, generated by pydoctor at 2022-06-16 00:00:12.