CRON: Iniciando novo ciclo enquanto o último ainda está em execução?

0

Exemplo, há um conjunto de scripts .py com CRON para executar a cada 5 minutos. E se esse script demorar mais de cinco minutos para terminar? Isso causaria o problema? O programa .py quebraria?

É possível executar 2 (mesmo) script no momento sem uma colisão?

    
por Bros Code 14.12.2015 / 22:26

2 respostas

2

Ele deve executar normalmente. É exatamente o mesmo caso de quando você executa o mesmo script em Terminais diferentes. O script funciona em ambos.

Se você não quiser que isso aconteça, crie algumas condições no script para que ele aguarde que o último termine.

E, como o comentário de Alex sugere, você pode facilmente testar isso com um loop infinito em um script que é executado por um cron job.

    
por ant0nisk 15.12.2015 / 00:14
2

cron não se importa com quantos scripts, iguais ou não, você está executando. Apenas iniciará a tarefa no horário agendado.

Então, se você é bom em executar um script pela segunda vez enquanto o primeiro está em execução, não há problema.

Embora dependa do script, mas geralmente, a menos que necessário, a maior parte do tempo pode gerar resultados incomuns devido às condições de corrida criadas pela execução simultânea de várias instâncias do mesmo script. Para evitar isso, existem vários mecanismos que garantem que apenas uma instância de um script esteja sendo executada.

O ponto principal é, se você é bom com isso, cron não vai reclamar.

    
por heemayl 15.12.2015 / 02:19