3

テストを偶数時間スレーブに分割します。

各テストにかかる時間の完全なリストがあります。

これらは Python の動作テスト機能です。

スレーブは Jenkins 経由で作成されます。


テストを x 個のスレーブに分割しました。これらのスレーブはテストを実行し、レポートを返します。

問題: 一部のスレーブは、実行中のテストが他のスレーブよりも大きくなっています。例えば。1 つは 40 分かかり、もう 1 つは 5 分かかります。

これを平均化したい。

現在、ファイルと所要時間のリストがあります。

[
    ['file_A', 501],
    ['file_B', 350],
    ['file_C', 220],
    ['file_D', 100]
]

追加... n個のファイルがあります。

現時点では、これらはファイル数でリストに分割されていますが、合計時間で分割したいと思います。例... 4 つのテストを実行する 3 つのスレーブは次のようになります...

[
[
     ['file_A', 501],
],
[
     ['file_B', 350],
],
[
     ['file_C', 220],
     ['file_D', 100]
]
]

そんな感じ...

助けてください

ありがとう!

4

4 に答える 4

1

テストを実行にかかった時間の降順で並べ替え、リストの一番上から各スレーブに 1 つ送信し、終了したら別のスレーブに送信します。それでも最短時間で終わります。

完了時にテストを配布できない場合は、各サーバーにリストを割り当て、同じ方法でテストを「処理」します。

于 2013-07-21T09:37:07.263 に答える