buildgrid.server.scheduler.assigner module

class buildgrid.server.scheduler.assigner.AssignByCapacity(kind: Literal['capacity'] = 'capacity')

Bases: object

kind: Literal['capacity'] = 'capacity'
class buildgrid.server.scheduler.assigner.AssignByLocality(kind: Literal['locality'] = 'locality')

Bases: object

kind: Literal['locality'] = 'locality'
class buildgrid.server.scheduler.assigner.JobAssigner(*args, **kwargs)

Bases: Protocol

start() None
stop() None
begin(shutdown_requested: Event) None
class buildgrid.server.scheduler.assigner.PriorityAgeJobAssigner(scheduler: Scheduler, name: str, interval: float, priority_percentage: int = 100, jitter_factor: float = 1, failure_backoff: float = 5.0, busy_sleep_factor: float = 0.01, instance_names: frozenset[str] | None = None, bot_assignment_strategy: AssignByCapacity | AssignByLocality = AssignByCapacity(kind='capacity'))

Bases: object

start() None
stop() None
begin(shutdown_requested: Event) None
class buildgrid.server.scheduler.assigner.AssignerConfig(*args, **kwargs)

Bases: Protocol

count: int
interval: float
generate_assigners(scheduler: Scheduler) Generator[JobAssigner, None, None]

Generate the actual JobAssigner objects defined by this configuration.

class buildgrid.server.scheduler.assigner.PriorityAgeAssignerConfig(count: int, interval: float, priority_assignment_percentage: int = 100, failure_backoff: float = 5.0, jitter_factor: float = 1.0, busy_sleep_factor: float = 0.01, instance_names: frozenset[str] | None = None, bot_assignment_strategy: buildgrid.server.scheduler.assigner.AssignByCapacity | buildgrid.server.scheduler.assigner.AssignByLocality = AssignByCapacity(kind='capacity'))

Bases: object

count: int
interval: float
priority_assignment_percentage: int = 100
failure_backoff: float = 5.0
jitter_factor: float = 1.0
busy_sleep_factor: float = 0.01
instance_names: frozenset[str] | None = None
bot_assignment_strategy: AssignByCapacity | AssignByLocality = AssignByCapacity(kind='capacity')
generate_assigners(scheduler: Scheduler) Generator[PriorityAgeJobAssigner, None, None]