Linux naredbe

Kako paralelno izvršavati više zahtjeva za uvijanje

Kako paralelno izvršavati više zahtjeva za uvijanje
Pretpostavimo da želite istodobno pokretati više zahtjeva za uvijanje iz bilo kojeg razloga, recimo 10 zahtjeva istovremeno. Kako biste to učinili? U ovom uputstvu pokazujemo kako istodobno možete izvršavati više kovrčavih zahtjeva.

Pokrenite paralelne zahtjeve pomoću naredbe xargs

The xargs naredba je naredba u operacijskim sustavima sličnim Linuxu i UNIX-u koja prihvaća ili uzima argumente iz standardnog unosa, a zatim izvodi naredbu za svaki argument. Jednostavno rečeno, naredba xargs može uzeti izlaz naredbe i obraditi je kao argument druge naredbe.

Na primjer, u naredbi dolje xargs uzima argumente s lijeve strane i kreira direktorije koristeći imena argumenata.

$ echo 'Afrika Azija Europa Amerika' | xargs mkdir

Naredba xargs također se može koristiti za istodobno pokretanje više zahtjeva. Ako provjerite stranice s uputama, pronaći ćete odjeljak koji vam daje argumente naredbenog retka kako je navedeno u nastavku.

Koristeći xargs, pokušat ćemo narediti izvršavanje više zahtjeva za curl istovremeno.

Naredba Linux curl uslužni je program naredbenog retka koji se koristi za prijenos datoteka. Pruža podršku za bezbroj protokola kao što su HTTP, HTTPS, FTP, FTPS, SCP, TFTP i još mnogo više.

Pretpostavimo da želite dobiti HTTP zaglavlja web mjesta pomoću naredbe curl. Da biste to učinili, morat ćete pozvati naredbu curl s oznakom -I praćenom URL-om kao što je prikazano.

$ curl -I "https: // linuxways.neto"

Sad ste upravo poslali jedan zahtjev za uvijanje. Pretpostavimo da želite izvršiti 5 paralelnih zahtjeva; kako biste to učinili? Rješenje za to je upotreba xargs naredbe kako je prikazano uz naredbu curl.

$ xargs -I% -P 5 curl -I "https: // linuxways.neto" < <(printf '%s\n' 1… 10)

Oznaka -P označava paralelno broj zahtjeva. Odjeljak <(printf '%s\n' 1… 10) ispisuje brojeve 1 - 10 i uzrokuje da se naredba curl izvrši 10 puta s 5 paralelno pokrenutih zahtjeva.

Uz to, možete pokrenuti donju naredbu da biste postigli isti rezultat. Kao i u prethodnom primjeru, naredba u nastavku izvršava naredbu curl 10 puta s 5 paralelnih zahtjeva.

$ seq 1 10 | xargs -n1 -P 5 curl -I "https: // linuxways.neto"

Uzmimo još jedan primjer. Pretpostavimo da istovremeno želite preuzeti 3 datoteke pomoću naredbe curl. Prvi korak bit će spremanje URL-ova datoteka od preuzimanja u tekstualnu datoteku. Ovdje imamo preuzimanje tekstualne datoteke.txt sa sljedećim URL-ovima.

Da biste istovremeno preuzeli datoteke, pokrenite sljedeću naredbu:

$ xargs -P 5 -n 1 uvojak -O < download.txt

Naredba 5 puta paralelno uvija svaki redak u tekstualnoj datoteci. The -n 1 flag osigurava da naredba curl čita jedan redak za svako izvršavanje naredbe curl.

I tako paralelno izvršavate više zahtjeva za curl.

Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...
SuperTuxKart za Linux
SuperTuxKart sjajan je naslov osmišljen kako bi vam besplatno pružio iskustvo Mario Kart na vašem Linux sustavu. Prilično je izazovno i zabavno igrati...
Vodič za bitku za Wesnoth
Bitka za Wesnoth jedna je od najpopularnijih strateških igara otvorenog koda koje trenutno možete igrati. Ne samo da se ova igra razvija već jako dugo...