Muitos git puxam de uma vez não funcionam

2

Eu tenho um script de implantação no qual quero que todos os meus servidores da Web executem simultaneamente git pull do mesmo local. Quando apenas dois servidores fazem o pull simultaneamente, não há problemas. Uma vez que eu tenho três ou quatro servidores, muitas vezes acontece que um ou mais servidores 'excedem o tempo' e não concluem o pull. Eu estou usando o git over ssh.

Existe algum software de servidor que eu possa usar para gerenciar as solicitações recebidas e lidar com cada uma delas individualmente ou algo assim?

Obrigado

    
por Max 03.05.2012 / 15:34

1 resposta

2

Você provavelmente está atingindo algum limite no servidor que hospeda o repositório principal do git. Você não fornece nenhum dado sobre isso para ajudar no diagnóstico, mas se você estiver em um servidor lento / barato, eu começaria a olhar para possíveis contenções de IO.

Todos os servidores da Web precisam ser executados ao mesmo tempo? Se não, basta adicionar um pouco de "fuzz" ao script fazendo com que cada um deles durma por um número aleatório de segundos (digamos entre 0 e 15) antes de fazer o pull.

Se isso não for uma opção, tente fazer um git pull manual de sua estação de trabalho (para um repositório que esteja no mesmo estado que os servidores da web) antes de iniciar o script de implantação. Isso irá preparar o cache de disco do servidor e esperamos que ele seja capaz de atender a maioria das retiradas do cache, em vez de atingir o disco real.

    
por 03.05.2012 / 16:13