Use o GNU Parallel para paralelizar sua coleção:
parallel --slf rhel-nodes --tag --timeout 1000% --onall --retries 3 \
"rpm -q {}; rpm --queryformat '%{installtime:date} %{name}\n' -q {}" \
::: bash bc perl
Coloque os nós em ~/.parallel/rhel-nodes
.
--tag
pré-anexará a saída com o nome do nó. --timeout 1000%
diz que, se um comando demorar 10 vezes mais que a mediana a ser executada, ele será eliminado. --onall
executará todos os comandos em todos os servidores. --retries 3
executará um comando até 3 vezes se falhar. ::: bash bc perl
são os pacotes que você deseja testar. Se você tiver muitos pacotes, use a sintaxe cat packages | parallel ...
em vez de parallel ... ::: packages
.
O GNU Parallel é um paralelizador geral e facilita a execução de trabalhos em paralelo na mesma máquina ou em várias máquinas para as quais você tem acesso ssh.
Se você tem 32 tarefas diferentes que você quer rodar em 4 CPUs, uma forma direta de paralelizar é rodar 8 tarefas em cada processador:
O
GNUParallelgeraumnovoprocessoquandoumtermina-mantendoasCPUsativaseeconomizandotempo:
Instalação
Se o GNU Parallel não for empacotado para sua distribuição, você poderá fazer uma instalação pessoal, que não requer acesso root. Isso pode ser feito em 10 segundos ao fazer isso:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
Para outras opções de instalação, consulte o link
Saiba mais
Veja mais exemplos: link
Assista aos vídeos de introdução: link
Percorra o tutorial: link
Inscreva-se na lista de e-mail para obter suporte: link