2017-06-13 1 views

Antwort

0

die Commit-Nachricht Posting hier, wie ich denke, es ist die Frage beantwortet perfekt:

TLDR: Sie können die CPU-Reservierung für Tests erhöhen, indem eine „CPU:“ Zugabe (zB „cpu: 4“ für vier Kerne) Markieren Sie ihre Regel in einer BUILD-Datei. Dies kann verwendet werden, wenn Tests Ihr System sonst überfordern würden, wenn zu viel Parallelität vorliegt.

Hiermit können Benutzer angeben, dass ihr Test mindestens ein CPU-Cores benötigt, um ausgeführt und nicht flockig zu sein. Beispiel für eine Reservierung von 4 CPUs:

sh_test(
    name = "test", 
    size = "large", 
    srcs = ["test.sh"], 
    tags = ["cpu:4"], 
) 

Dies auch durch Remote-Ausführung Strategien abzustimmen ihre Ressourcenanpassung verwendet werden könnte.


Ab 2017.06.21 die folgenden Wechsel Optionen sind möglich:

genrule: tags gleiche wie in sh_test einstellen. Beispiel:

genrule(
    name = "foo", 
    srcs = [], 
    outs = ["foo.h"], 
    cmd = "./$(location create_foo.pl) > \"[email protected]\"", 
    tools = ["create_foo.pl"], 
    tags = ["cpu:4"], 
) 

Skylark Regeln: Dies kann so lange arbeiten, wie Sie verwenden Arbeitnehmer dies nicht tun. See. Für Skylark-Regeln cpu kann manuell für jede erstellte Aktion einzeln festgelegt werden. Dies wird durch Setzen von execution_requirements erreicht. Beispiel:

ctx.action(
    execution_requirements = { 
     "cpu:4": "", # This is no mistake - you really encode the value in the dict key and an empty string in dict value 
    }, 
) 
+0

Ok. Ich hatte gehofft, dass man dies zu jeder Aktion hinzufügen könnte. Z.B. Ich habe eine Aktion, die ich kenne, mit drei Threads. So könnte ich das wirklich über bloße Tests/Regeln hinaus verwenden. – abergmeier

+0

So sieht es aus, diese Tags sollten auch mit Genrules und skylark benutzerdefinierte Regeln funktionieren. Wenn sie es nicht tun, ist es ein Fehler, über den Bericht zu berichten :) – mhlopko

+0

Also ist die Semantik dann, dass die CPU-Reservierung zu allen Aktionen dieser Regel hinzugefügt wird? – abergmeier

Verwandte Themen