Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leandro Pedrosa

Verificar se um script está sendo executado...

Recommended Posts

Pessoal, estou precisando verificar se um script está sendo executado. Tipo Assim

 

Algoritmo verificar_script

 

se arquivo cron.php não está sendo executado faça

execute o arquivo cron.php

senao

não execute ou não faz nada

 

 

Porque assim tenho arquivo chamado cron.php que ele executa de 2 em 2 minutos, mas as vezes passa dos 2 minutos ele nem terminou a execução total do script. Então queria colocar uma flag que me dissesse se está sendo executado ainda o arquivo, senão estiver executando, execute-o, caso contrário, não faz nada (por exemplo).

Porque senão irá ter muitos processos em cima do servidor, cujo pode ficar sobrecarregado.

 

Não sei se tem como fazer isso utilizando alguma função do linux ou apenas php.

 

Talvez vou ter criar um arquivo verificaScript.php e rodar ele automaticamente de 2 em 2 minutos

e dentro dele o código acima, dando um include.

 

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma função específica do PHP chamada posix, no entanto é especifica para ambientes unix

http://php.net/manual/en/ref.posix.php

 

o que recomendo é criar uma flag num arquivo texto, por questões de portabilidade.

suponha que um dia tenha que migrar para ambientes diferentes do unix (linux), como o windows. O posix não estará disponível, aí o seu aplicativo terá que ser adaptado.

 

 

a idéia, seria por exemplo, quando o script começar, antes de iniciar as execuções, faria leitura do arquivo texto. Se estiver com valor "0", quer dizer que nenhum processo está ativo. Então sobrescreve o arquivo com o valor "1" e começa as execuções.

Quando terminar, sobrescreve novamente com valor "0" para indicar que está tudo limpo e outros poderão executar.

 

acho que você já sacou a idéia...

 

é bom colocar um benchmark e acompanhar as estatísticas de tempo de execução para você ter uma idéia do tempo médio e reajustar os tempos do crontab de acordo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hinom muito obrigado pela ideia, saquei sim...

Irei implementá-lo.

Eu tenho no arquivo cron.php um contador pra analisar quanto tempo ele está levando pra executar os processos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.