crontab a cada 20 segundos
Pessoal, sabendo que tarefas cron podem ser executadas apenas a cada 1 minuto e necessitando executar uma a cada 20 segundos, estou buscando uma função no php para chamar outro php 20 segundos após ser chamado, exemplo:
1.php (agendado no cron a cada minuto)
executa um INSERT e chama 2.php 20 segundos depois
2.php (sem agendamento, inicia 20s após o 1.php)
executa um INSERT e chama 3.php 20 segundos depois
3.php(sem cron, inicia 20s após 2.php)
executa um INSERT
notem que aqui fechou 40s então quando fechar 60 o 1php será chamado novamente e aparentemente o problema estará resolvido, executando a cada 20s
porém não sei qual comando utilizo no 1.php para chamar o 2.php após 20s
alguém pode me dar uma luz?
1.php (agendado no cron a cada minuto)
executa um INSERT e chama 2.php 20 segundos depois
2.php (sem agendamento, inicia 20s após o 1.php)
executa um INSERT e chama 3.php 20 segundos depois
3.php(sem cron, inicia 20s após 2.php)
executa um INSERT
notem que aqui fechou 40s então quando fechar 60 o 1php será chamado novamente e aparentemente o problema estará resolvido, executando a cada 20s
porém não sei qual comando utilizo no 1.php para chamar o 2.php após 20s
alguém pode me dar uma luz?
comentários (0)
suspender
Lista de Respostas:
14/08/2010 12:53pm
(~14 anos atrás)
(~14 anos atrás)
Tente utilizar as função register_shutdown_function.
Uma alternativa seria colocar em loop e pausar a execução em 20s com sleep.
Uma alternativa seria colocar em loop e pausar a execução em 20s com sleep.
14/08/2010 1:31pm
(~14 anos atrás)
(~14 anos atrás)
Bem.
Já que vai ser um script apenas para isto, acho melhor apenas fazer um looping utilizando o sleep(20);
Veja
Se você colocar este código para executar, você vai quer o funcionamento.
Então basta você colocar dentro de um looping o insert que você deseja fazer no banco...
Quanto ao register_shutdown_function(), não acho necessário.
Basta você criar este código separado, e depois faze-lo executar e manter o navegador aberto até que termine o procedimento.
Já que vai ser um script apenas para isto, acho melhor apenas fazer um looping utilizando o sleep(20);
Veja
for($i = 0; $i < 100; $i++){ echo date('d/m/Y H:i:s'); sleep(20); } echo date('d/m/Y H:i:s');
Se você colocar este código para executar, você vai quer o funcionamento.
Então basta você colocar dentro de um looping o insert que você deseja fazer no banco...
Quanto ao register_shutdown_function(), não acho necessário.
Basta você criar este código separado, e depois faze-lo executar e manter o navegador aberto até que termine o procedimento.
30/08/2010 1:11pm
(~14 anos atrás)
(~14 anos atrás)
normalmente faço no próprio shell, pausando por 20 segundos o 1º e 20 segundos o 2º