- GNU Parallel ist nützlich, um E2E-Tests parallel auszuführen
- Der Autor wollte Statistiken zur Erfolgs-/Fehlerrate einer lange laufenden Test-Suite für einen Live-Service über HTTP erfassen
- Zunächst führte der Autor die Tests in bash mit verschachtelten Schleifen aus, aber da jeder Test lange dauerte, war diese Methode langsam
- Danach setzte er GNU Parallel ein, um die Tests parallel auszuführen; Performance und Funktionsumfang verbesserten sich mit weniger Code deutlich
- In GNU Parallel wird festgelegt, dass Befehle parallel ausgeführt werden, und Platzhalter (
{1}, {2} usw.) werden durch Eingabewerte ersetzt
- Die Eingaben für den Befehl werden nach dem Operator
::: angegeben und dem Befehl in allen möglichen Kombinationen übergeben
- GNU Parallel bietet Optionen zur Steuerung der Parallelität, etwa zum Begrenzen der Anzahl gleichzeitiger Jobs oder zum Verzögern des Starts einzelner Jobs, um Ressourcenkonflikte zu vermeiden
- Das Tool kann auch CSV-Dateien mit den Ergebnissen abgeschlossener Jobs ausgeben, einschließlich Laufzeit, Exit-Code und erfasstem stdout/stderr
- Der Autor empfiehlt das Buch von GNU-Parallel-Autor Ole Tange, um weitere Funktionen des Tools tiefer zu erkunden, etwa das Verteilen von Jobs per SSH auf andere Hosts, das Überwachen der Abschlusszeiten von Jobs, das erneute Ausführen von Jobs mit hoher Fehlerwahrscheinlichkeit, das Fortsetzen unterbrochener paralleler Ausführungen oder das Begrenzen der Job-Parallelität anhand der CPU-Auslastung
1 Kommentare
Hacker-News-Kommentare
-parallelund hebt den Reiz der Parallelisierung mit Kommandozeilen-Tools hervor