- GNU Parallel berguna untuk menjalankan pengujian E2E secara paralel
- Penulis ingin mengumpulkan statistik rasio lulus/gagal dari rangkaian pengujian yang berjalan lama terhadap layanan live melalui HTTP
- Awalnya penulis menjalankan pengujian dengan nested loop di bash, tetapi karena waktu eksekusi tiap pengujian lama, metode ini lambat
- Setelah itu, penulis menggunakan GNU Parallel untuk menjalankan pengujian secara paralel, dan performa serta fungsionalitas meningkat besar dengan kode yang lebih sedikit
- Di GNU Parallel, kita menentukan agar perintah dijalankan secara paralel, dan placeholder (
{1}, {2}, dan seterusnya) diganti dengan nilai input
- Input untuk perintah ditentukan setelah operator
:::, lalu diberikan ke perintah dalam semua kombinasi yang mungkin
- GNU Parallel menyediakan opsi untuk mengendalikan konkurensi dan menghindari perebutan resource, seperti membatasi jumlah pekerjaan simultan atau menunda awal tiap pekerjaan
- Alat ini juga menyediakan fitur untuk menghasilkan file CSV berisi hasil penyelesaian pekerjaan: durasi, exit code, serta stdout/stderr yang ditangkap
- Penulis merekomendasikan buku karya Ole Tange, penulis GNU Parallel, untuk mengeksplorasi lebih dalam fitur-fitur alat ini, seperti mendistribusikan pekerjaan ke host lain menggunakan SSH, memantau waktu penyelesaian pekerjaan, mencoba ulang pekerjaan yang kemungkinan gagal tinggi, melanjutkan pekerjaan jika eksekusi paralel terhenti di tengah jalan, atau membatasi konkurensi pekerjaan berdasarkan penggunaan CPU
1 komentar
Komentar Hacker News
ForEach-Objectdi PowerShell yang memiliki parameter-parallel, sambil menekankan daya tarik paralelisasi menggunakan alat baris perintah