Execute solicitações paralelas usando o comando XARGS
O Xargs O comando é um comando nos sistemas operacionais Linux e UNIX que aceita ou recebe argumentos da entrada padrão e depois executa um comando para cada argumento. Simplificando, o comando XARGS pode assumir a saída de um comando e processá -lo como um argumento de um comando diferente.
Por exemplo, no comando abaixo, Xargs leva os argumentos no lado esquerdo e cria diretórios usando os nomes de argumentos.
$ eco 'África Ásia Europa América' | Xargs mkdir
O comando XARGS também pode ser usado para executar várias solicitações simultaneamente. Se você verificar as ManPages, encontrará uma seção que lhe dará os argumentos da linha de comando, conforme indicado abaixo.
Usando XARGs, tentaremos comandar a execução de várias solicitações de CLO ao mesmo tempo.
O comando Linux Curl é um utilitário de linha de comando que é usado para transferência de arquivos. Ele fornece suporte para uma infinidade de protocolos como HTTP, HTTPS, FTP, FTPS, SCP, TFTP e muito mais.
Suponha que você queira obter os cabeçalhos HTTP de um site usando o comando curl. Para fazer isso, você precisaria invocar o comando curl com a bandeira -i seguida pelo URL como mostrado.
$ curl -i "https: // linuxways.líquido"
Agora, você acabou de enviar uma única solicitação de curl. Suponha que você queira executar 5 solicitações paralelas; Como você faria isso? A solução para isso é usar o comando XARGS, conforme mostrado ao lado do comando CURL.
$ xargs -i % -p 5 curl -i "https: // linuxways.líquido" < <(printf '%s\n' 1… 10)
A bandeira -P indica o número de solicitações em paralelo. A seção <(printf '%s\n' 1… 10) Imprime os números 1 - 10 e faz com que o comando CURL seja executado 10 vezes com 5 solicitações funcionando em paralelo.
Além disso, você pode executar o comando abaixo para alcançar o mesmo resultado. Como no exemplo anterior, o comando abaixo executa o comando CURL 10 vezes com 5 solicitações em paralelo.
$ seq 1 10 | XARGS -N1 -P 5 CURL -I "https: // linuxways.líquido"
Vamos dar outro exemplo. Suponha que você queira baixar 3 arquivos simultaneamente usando o comando curl. O primeiro passo será salvar os URLs dos arquivos de ser baixado em um arquivo de texto. Aqui, temos um download de um arquivo de texto.txt com os seguintes URLs.
Para baixar os arquivos simultaneamente, execute o seguinte comando:
$ xargs -p 5 -n 1 curl -o < download.txt
O comando enrola todas as linhas no arquivo de texto 5 vezes em paralelo. O -n 1 Flag garante que o comando CURL lê uma linha para cada execução do comando CURL.
E é assim que você executa várias solicitações de curl em paralelo.