6

私はいくつかのビルダーと2台のスレーブマシンを備えたビルドボットを持っています。

一部のビルダーは1つのスレーブで実行でき、一部のビルダーは両方のマシンで実行できます。

buildbotはビルドをスケジュールするためにどのアルゴリズムを使用しますか?一部のビルダーは1つのスレーブでのみ実行でき、両方のスレーブで実行できるビルダーを要求の少ないスレーブに割り当てる必要があることに気付くでしょうか。

(buildbotを使用して、Windows、Linuxなどの複数のアーキテクチャで同じビルドを実行できることはわかっています。単一のビルドで十分なので、パフォーマンスのためにビルドを配布するために使用しています)。

4

1 に答える 1

11

最初に、そのビルダーに接続されているすべてのスレーブのリストを取得します。次に、ランダムに 1 つを選択します。スレーブが既に複数のslave.max_buildsビルドを実行している場合は、別のビルドを選択します。

nextSlaveのメソッドをオーバーライドして、Builderスレーブの選択方法を変更できます。関数に渡される引数は、Builderオブジェクトとオブジェクトの alistになりbuildbot.buildslave.BuildSlaveます。後者のリストの項目の 1 つ、または を返す必要がありNoneます。

于 2010-02-24T02:49:18.717 に答える