Какой алгоритм использует buildbot для назначения сборщиков подчиненным? - PullRequest
6 голосов
/ 09 февраля 2010

У меня есть buildbot с некоторыми сборщиками и двумя подчиненными машинами.

Некоторые сборщики могут работать на одном подчиненном устройстве, а некоторые - на обеих машинах.

Какой алгоритм будет использовать buildbot для планирования сборок? Заметит ли он, что некоторые сборщики могут работать только на одном подчиненном устройстве и что он должен назначать тех, кто может работать на обоих ведомых, менее востребованному?

(Я знаю, что buildbot может использоваться для запуска одной и той же сборки на нескольких архитектурах, скажем, Windows, Linux и т. Д. Мы используем его для распределения сборок для повышения производительности, поскольку нам достаточно одной сборки).

1 Ответ

11 голосов
/ 24 февраля 2010

Сначала он получает список всех рабов, прикрепленных к этому строителю. Затем он выбирает один в случайном порядке . Если ведомое устройство уже выполняет более slave.max_builds сборок, оно выбирает другое.

Вы можете переопределить метод nextSlave на Builder, чтобы изменить способ выбора рабов. Аргументами, передаваемыми вашей функции, будут объект Builder и list из buildbot.buildslave.BuildSlave объектов. Вы должны вернуть один из пунктов последнего списка или None.

...