Você pode experimentar o GNU paralelo. Muitos exemplos podem ser encontrados aqui e aqui .
Eu sou membro da equipe Swift e fazemos exatamente esse tipo de coisa para grandes projetos de pesquisa.
Eu tenho uma tabela URL_Experiment
no meu banco de dados ( banco de dados mySQL ). Eu tenho 2 milhões de links de URL nesta tabela.
Para cada URL, estou verificando se algum texto específico está presente no URL e atualizando as informações de volta na minha tabela URL_Experiment
.
Agora, preciso fazer o script ser executado rapidamente. A solução fácil que me vem à mente é:
divida o URL_Experiment
em 10 tabelas (cada uma com 200.000 linhas) e execute o script 10 vezes simultaneamente. Dessa forma, posso garantir que as atualizações aconteçam corretamente. Mas para isso, eu preciso salvar 10 scripts, cada um acessando a tabela correta (eu preciso renomear as tabelas de 1 a 10).
Embora o acima pareça uma solução bem legal, estou procurando uma solução mais sofisticada. Algo que irá executar o mesmo script simultaneamente (em paralelo) como 10 processos. Minha preocupação é o tempo de execução. Eu não quero que os recursos sejam desperdiçados quando eles podem ser utilizados.
Tags bash scripting shell-script