Изпълнете паралелни заявки с помощта на командата xargs
The xargs command е команда в операционни системи, подобни на Linux и UNIX, която приема или взема аргументи от стандартен вход и след това изпълнява команда за всеки аргумент. Просто казано, командата xargs може да вземе изхода на команда и да я обработи като аргумент на друга команда.
Например в командата по-долу xargs взема аргументите отляво и създава директории, използвайки имената на аргументите.
$ echo 'Африка Азия Европа Америка' | xargs mkdir
Командата xargs може също да се използва за едновременно изпълнение на множество заявки. Ако проверите страниците, ще намерите раздел, който ви дава аргументите на командния ред, както е посочено по-долу.
Използвайки xargs, ние ще се опитаме да командваме изпълнението на множество заявки за къдрене едновременно.
Командата за навиване на Linux е помощна програма за команден ред, която се използва за прехвърляне на файлове. Той осигурява поддръжка за безброй протоколи като HTTP, HTTPS, FTP, FTPS, SCP, TFTP и много други.
Да предположим, че искате да получите HTTP заглавките на уебсайт, като използвате командата curl. За да направите това, ще трябва да извикате командата curl с флага -I, последван от URL адреса, както е показано.
$ curl -I "https: // linuxways.мрежа "
Сега току-що сте изпратили една заявка за къдрене. Да предположим, че искате да изпълните 5 паралелни заявки; как бихте постъпили по този въпрос? Решението за това е да се използва командата xargs, както е показано заедно с командата curl.
$ xargs -I% -P 5 curl -I "https: // linuxways.мрежа " < <(printf '%s\n' 1… 10)Флагът -P обозначава броя на заявките паралелно. Разделът <(printf '%s\n' 1… 10) отпечатва числата 1 - 10 и кара командата curl да се изпълнява 10 пъти с 5 заявки, работещи паралелно.
Освен това можете да изпълните командата по-долу, за да постигнете същия резултат. Както при предишния пример, командата по-долу изпълнява командата curl 10 пъти с 5 паралелни заявки.
$ sq 1 10 | xargs -n1 -P 5 curl -I "https: // linuxways.мрежа "Да вземем друг пример. Да предположим, че искате да изтеглите едновременно 3 файла, като използвате командата curl. Първата стъпка ще бъде да запазите URL адресите на файловете от изтегляне в текстов файл. Тук имаме изтегляне на текстов файл.txt със следните URL адреси.
За да изтеглите файловете едновременно, изпълнете следната команда:
$ xargs -P 5 -n 1 curl -O < download.txtКомандата навива всеки ред в текстовия файл 5 пъти паралелно. The -n 1 flag гарантира, че командата curl чете по един ред за всяко изпълнение на командата curl.
И по този начин изпълнявате множество заявки за къдрене паралелно.